apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Phillips <r...@trolocsis.com>
Subject Re: apr 1.4: testpoll crash on OSX 10.6
Date Sat, 17 Oct 2009 21:58:49 GMT
On Sat, Oct 17, 2009 at 2:40 AM, Ruediger Pluem <rpluem@apache.org> wrote:
>
>
> On 10/17/2009 05:50 AM, Ryan Phillips wrote:
>> On Wed, Oct 14, 2009 at 12:02 PM, Neil Conway <nrc@cs.berkeley.edu> wrote:
>>> "./tests/testall testpoll" segfaults for me consistently on OSX 10.6.1
>>> with the latest code from the 1.4-stable branch (64-bit APR library).
>>> gdb info:
>>>
>>> #0  0x000000010000e9b7 in send0_pollset (tc=0x7fff5fbfef80, data=0x0)
>>> at testpoll.c:389
>>> 389         ABTS_PTR_EQUAL(tc, s[0], descs[0].desc.s);
>>> (gdb) bt
>>> #0  0x000000010000e9b7 in send0_pollset (tc=0x7fff5fbfef80, data=0x0)
>>> at testpoll.c:389
>>> #1  0x0000000100001456 in abts_run_test (ts=0x100200190, f=0x10000e925
>>> <send0_pollset>, value=0x0) at abts.c:168
>>> #2  0x000000010000f713 in testpoll (suite=0x100200190) at testpoll.c:685
>>> #3  0x0000000100001e35 in main (argc=2, argv=0x7fff5fbff020) at abts.c:424
>>> (gdb) p descs
>>> $1 = (const apr_pollfd_t *) 0x0
>>> (gdb) p s[0]
>>> $2 = (apr_socket_t *) 0x100804240
>
> What is the value of num?
>
>>> (gdb) l
>>> 384         rv = apr_pollset_poll(pollset, 0, &num, &descs);
>>> 385         ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
>>> 386         ABTS_INT_EQUAL(tc, 1, num);
>>> 387         ABTS_PTR_NOTNULL(tc, descs);
>>> 388
>>> 389         ABTS_PTR_EQUAL(tc, s[0], descs[0].desc.s);
>>> 390         ABTS_PTR_EQUAL(tc, s[0],  descs[0].client_data);
>>> 391     }
>>> 392
>>> 393     static void recv0_pollset(abts_case *tc, void *data)
>>>
>
> Regards
>
> Rüdiger
>

Num on the freebsd machine is 0.

(gdb) f 0
#0  0x000000000041240e in send0_pollset (tc=0x7fffffffdfd0,
data=0x59b1c0) at testpoll.c:389
389         ABTS_PTR_EQUAL(tc, s[0], descs[0].desc.s);
(gdb) l
384         rv = apr_pollset_poll(pollset, 0, &num, &descs);
385         ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
386         ABTS_INT_EQUAL(tc, 1, num);
387         ABTS_PTR_NOTNULL(tc, descs);
388
389         ABTS_PTR_EQUAL(tc, s[0], descs[0].desc.s);
390         ABTS_PTR_EQUAL(tc, s[0],  descs[0].client_data);
391     }
392
393     static void recv0_pollset(abts_case *tc, void *data)
(gdb) p rv
$10 = 0
(gdb) p num
$11 = 0
(gdb) p descs
$12 = (const apr_pollfd_t *) 0x0

Regards,
Ryan

Mime
View raw message