RE: svn 1.8.9 checkout crashes (debugging details provided)

2014-05-28 Thread dereckh58

On 2014-05-28 05:47, Bert Huijben wrote:

I'm guessing these patches (r2361 fixes a stupid compilation error
introduced in r2360) fix the problem. They fix the segfault I could
reproduce while trying here.

I'm having a cold right now, which is still affecting my coding 
quality, so

I would like some confirmation from others before calling this problem
completely fixed.


For testing my case, I did this in outgoing.c using your macro and have
done a big bunch of test runs:

/*/
if (SERF_BUCKET_READ_ERROR(status)) {
if (APR_STATUS_IMPLIES_HANGUP(status)) {
fprintf(stderr, "crash ahead (status: %ld)\n", (long) status);
getchar();
}
/* Report the request as 'died'/'cancelled' to the application */
(void)(*request->handler)(request,
/*/

Whenever the macro triggers, I get a segfault (or, to put it another 
way,

whenever I don't get a segfault, the macro doesn't trigger). So it's
stable for me in at least one direction -- I don't get any false 
positives.


The only thing that may be a problem is a segfault without the macro
triggering -- a false negative. I say this because I (stupidly?) 
believed

that FreeBSD's support for the POLLHUP poll() event meant I didn't
have to check APR_STATUS_IS_ECONNRESET(status) or
APR_STATUS_IS_ECONNABORTED(status), so my first instance of debug
code had only

if (status == SERF_ERROR_REQUEST_LOST) { ... }

With this, there was one and only one case in which I got a segfault
without the test triggering. This segfault occurred at the same code
point as the other segfaults, but I didn't get to check 'status'. It's
possible it was ECONNRESET or ECONNABORTED (maybe related to some
non-poll event), but I can't be sure.

Since adding the new debug code, every segfault has been associated with
SERF_ERROR_REQUEST_LOST (120102 or whatever it is), so at least svn
is usable now in my case.

I'll get the FreeBSD users in this forum thread to test your fix:

http://forums.freebsd.org/viewtopic.php?f=43&t=46620

If it seems to do the trick, I can send it to the freebsd-ports mailing
list and the port maintainer for wider testing. I've noticed the trunk
version of outgoing.c diverges a fair bit from the 1.3.5 version, but
from what I can tell, a 1.3.5 patch based on your fix ought to keep
1.3.5 afloat until 1.3.6 comes along.

You've been awesome! Hope you get well soon.


RE: svn 1.8.9 checkout crashes (debugging details provided)

2014-05-28 Thread Bert Huijben


> -Original Message-
> From: dereck...@openmailbox.org [mailto:dereck...@openmailbox.org]
> Sent: woensdag 28 mei 2014 13:10
> To: Bert Huijben
> Cc: users@subversion.apache.org
> Subject: RE: svn 1.8.9 checkout crashes (debugging details provided)
> 
> On 2014-05-26 05:39, Bert Huijben wrote:
> > Your testscase works more stable than my original testcase.
> >
> > It looks like the problem is somehow triggered by upgrading from serf
> > 1.3.4
> > to 1.3.5. I'm trying to reach out to the serf developers to see how we
> > should fix this problem.
> >
> > I think you can work around this problem by using serf 1.3.4, or by
> > increasing the maximum number of requests per connection on the server.
> >
> > Bert
> 
> Hey, Bert. Just caught this follow-up message of yours.
> 
> A few users on the FreeBSD forums are getting bus errors / segfaults as
> well,
> and I was trying to gather more testcases, but it looks as if you've
> been
> able to reproduce the crashes and have identified the problem.
> 
> Are your latest r2360/r2361 commits on serf related to this? The r2360
> commit message mentions a requests-per-connection limit.

I'm guessing these patches (r2361 fixes a stupid compilation error
introduced in r2360) fix the problem. They fix the segfault I could
reproduce while trying here.

I'm having a cold right now, which is still affecting my coding quality, so
I would like some confirmation from others before calling this problem
completely fixed.


Bert



RE: svn 1.8.9 checkout crashes (debugging details provided)

2014-05-28 Thread dereckh58

On 2014-05-26 05:39, Bert Huijben wrote:

Your testscase works more stable than my original testcase.

It looks like the problem is somehow triggered by upgrading from serf 
1.3.4

to 1.3.5. I'm trying to reach out to the serf developers to see how we
should fix this problem.

I think you can work around this problem by using serf 1.3.4, or by
increasing the maximum number of requests per connection on the server.

Bert


Hey, Bert. Just caught this follow-up message of yours.

A few users on the FreeBSD forums are getting bus errors / segfaults as 
well,
and I was trying to gather more testcases, but it looks as if you've 
been

able to reproduce the crashes and have identified the problem.

Are your latest r2360/r2361 commits on serf related to this? The r2360
commit message mentions a requests-per-connection limit.

Cheers.


RE: svn 1.8.9 checkout crashes (debugging details provided)

2014-05-26 Thread Bert Huijben


> -Original Message-
> From: Bert Huijben [mailto:b...@qqmail.nl]
> Sent: maandag 26 mei 2014 13:12
> To: dereck...@openmailbox.org; users@subversion.apache.org
> Subject: RE: svn 1.8.9 checkout crashes (debugging details provided)
> 
> 
> 
> > -Original Message-
> > From: dereck...@openmailbox.org [mailto:dereck...@openmailbox.org]
> > Sent: maandag 26 mei 2014 12:54
> > To: users@subversion.apache.org
> > Subject: svn 1.8.9 checkout crashes (debugging details provided)
> >
> > BASIC DETAILS
> > =
> >
> > I'm experiencing intermittent checkout crashes with svn 1.8.9 on FreeBSD
> > that
> > aren't easily reproduced. I've included the latest three crash logs (the
> > earlier crashes were similar to the first two I've included -- seen in
> > gdb to
> > occur at the same point -- but I didn't save the core files for those).
> >
> > The checkout will usually run for minutes at a time before the crashes
> > occur, displaying a lengthy list of successfully added files ("A  ...")
> > before
> > segfaulting somewhere through. On some runs, I've managed to checkout
> > everything without incident. There appears to be no rhyme or reason to
> > which
> > particular file fetch causes the crash.
> >
> > If there's anything I can do to help a fix along, please let me know.
> 
> I had a similar crash on that same line on Windows (using 1.8.9 and latest
> serf) and at least one other user reported a problem that might have the
> same root cause... as his checkout triggered that error for me.
> 
> If you find a way to reproduce it, please let us know as the current trace
> doesn't really explain what causes this problem in 1.8.9, but not in older
> versions.

Your testscase works more stable than my original testcase.

It looks like the problem is somehow triggered by upgrading from serf 1.3.4
to 1.3.5. I'm trying to reach out to the serf developers to see how we
should fix this problem.

I think you can work around this problem by using serf 1.3.4, or by
increasing the maximum number of requests per connection on the server.

Bert



RE: svn 1.8.9 checkout crashes (debugging details provided)

2014-05-26 Thread Bert Huijben


> -Original Message-
> From: dereck...@openmailbox.org [mailto:dereck...@openmailbox.org]
> Sent: maandag 26 mei 2014 12:54
> To: users@subversion.apache.org
> Subject: svn 1.8.9 checkout crashes (debugging details provided)
> 
> BASIC DETAILS
> =
> 
> I'm experiencing intermittent checkout crashes with svn 1.8.9 on FreeBSD
> that
> aren't easily reproduced. I've included the latest three crash logs (the
> earlier crashes were similar to the first two I've included -- seen in
> gdb to
> occur at the same point -- but I didn't save the core files for those).
> 
> The checkout will usually run for minutes at a time before the crashes
> occur, displaying a lengthy list of successfully added files ("A  ...")
> before
> segfaulting somewhere through. On some runs, I've managed to checkout
> everything without incident. There appears to be no rhyme or reason to
> which
> particular file fetch causes the crash.
> 
> If there's anything I can do to help a fix along, please let me know.

I had a similar crash on that same line on Windows (using 1.8.9 and latest
serf) and at least one other user reported a problem that might have the
same root cause... as his checkout triggered that error for me.

If you find a way to reproduce it, please let us know as the current trace
doesn't really explain what causes this problem in 1.8.9, but not in older
versions.

Bert