[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: backgrounding 'svn log' over serf

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Wed, 19 Dec 2012 19:31:09 +0000

"C. Michael Pilato" <cmpilato_at_collab.net> writes:

> On 12/19/2012 01:59 PM, C. Michael Pilato wrote:
>> On 12/19/2012 01:53 PM, Daniel Shahaf wrote:
>>> Actual result: backgrounding svn killed it.
>>>
>>> Expected result: after 'bg\n', keep fetching+filtering+printing log
>>> messages in the background.
>>>
>>> It worked in 1.7 with neon. Can we make it work in 1.8 too?
>>
>> Please file an issue. With as much code and complaint flying around as we
>> have, sometimes my view is: "No issue, no problem." But I suspect the
>> issue needs to be filed against Serf, not Subversion. The error you show is
>> simply what is returned from serf_context_run().
>
> Sorry: to clarify, it's a Subversion-generated error message which wraps
> the status code returned from serf_context_run().

Yes, I can reproduce it on my Linux machine but only if the interrupt
occurs in an epoll_wait call:

epoll_wait(3, ^Z
[1]+ Stopped strace subversion/svn/.libs/lt-svn log http://svn.apache.org/repos/asf/subversion
$ fg
strace subversion/svn/.libs/lt-svn log http://svn.apache.org/repos/asf/subversion
7fb0234461e8, 16, 500) = -1 EINTR (Interrupted system call)
--- SIGCONT (Continued) @ 0 (0) ---
open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=1474, ...}) = 0
mmap(NULL, 1474, PROT_READ, MAP_PRIVATE, 5, 0) = 0x7fb0232cf000
close(5) = 0
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb0232cd000
write(2, "../src/subversion/svn/log-cmd.c:"..., 35../src/subversion/svn/log-cmd.c:870) = 35
write(2, ": (apr_err=4)\n", 14: (apr_err=4)
) = 14
write(2, "../src/subversion/libsvn_client/"..., 41../src/subversion/libsvn_client/log.c:620) = 41
write(2, ": (apr_err=4)\n", 14: (apr_err=4)
) = 14
write(2, "../src/subversion/libsvn_ra_serf"..., 42../src/subversion/libsvn_ra_serf/log.c:607) = 42
write(2, ": (apr_err=4)\n", 14: (apr_err=4)
) = 14
write(2, "../src/subversion/libsvn_ra_serf"..., 43../src/subversion/libsvn_ra_serf/util.c:819) = 43
write(2, ": (apr_err=4)\n", 14: (apr_err=4)
) = 14
write(2, "../src/subversion/libsvn_ra_serf"..., 43../src/subversion/libsvn_ra_serf/util.c:786) = 43
write(2, ": (apr_err=4)\n", 14: (apr_err=4)
) = 14
write(2, "svn: E000004: Error running cont"..., 61svn: E000004: Error running context: Interrupted system call
) = 61
close(4) = 0
close(4294967295) = -1 EBADF (Bad file descriptor)
close(3) = 0
munmap(0x7fb0233ca000, 106496) = 0

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download
Received on 2012-12-19 20:31:47 CET

This is an archived mail posted to the Subversion Dev mailing list.