Hi Edwin,
Seems like HP-UX's mktemp() shouldn't be used by APR.
Cross-posting this to apr-dev. I believe it should be addressed
in APR rather than Subversion.
On Tue, Aug 28, 2012 at 11:33:48AM +0300, Edwin Goh wrote:
> OS: HP-UX
>
> SVN: svn, version 1.7.6 (r1370777) compiled Aug 20 2012, 15:40:19
>
> SVN are download from http://hpux.connect.org.uk/
> HP-UX mktemp man page
> http://docstore.mik.ua/manuals/hp-ux/en/B2355-60130/mktemp.3C.html
>
>
>
> When I tried to perform a commit with HP-UX svn client, I received the
> following error:
>
>
>
> svn: E000002: Can't create temporary file from template '/tmp/svn-XXXXXX':
> No such file or directory
>
> svn: E000002: Your commit message was left in a temporary file:
>
> svn: E000002: '/home/nginhui/svn-commit.2.tmp'
>
>
>
> After some investigation into SVN 1.7.6 and APR source code, I noticed:
>
>
>
> SVN client: io.c:4036 - temp_file_create function call apr_file_mktemp with
> flag set to not delete when close
>
> APR: mktemp.c:190 - apr_file_mktemp function call Unix mktemp
>
>
>
> It seems the problem due to mktemp HP-UX open file with the following format
> (base on template "svn-XXXXXX") svn-[a-z]<PID> .
>
> For instance:
>
> PID= 23451, first call to mktemp you will have a temp file open as
> /tmp/svn-a23451 the next call to mktemp will result in /tmp/svn-b23451 and
> so on, eventually it will reach z (26 files later), it simple exit with
> error since it run out of character
>
>
>
> What I am not sure is if this is a bug in SVN or APR, shouldn't SVN client
> set the flag to delete the temp file as soon as it is close? On the other
> hands, APR should have use tmpfile function instead of mktemp or the
> internally implementation gettemp.
>
>
>
> Regards,
>
> Edwin
>
>
>
Received on 2012-08-28 11:35:04 CEST