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
> 
>  
> 

Reply via email to