Andreas Stieger
unread,Oct 20, 2014, 8:56:29 PM10/20/14Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to serf...@googlegroups.com
Hello,
I am getting a crashing test (SIGSEGV) in 1.3.8 (not 1.3.7) and trunk. I
have narrowed this down to r2419 from trunk on test/test_buckets.c,
the change to test_deflate_buckets specifically.
> Program received signal SIGSEGV, Segmentation fault.
> serf_bucket_deflate_create (stream=stream@entry=0x100a0, allocator=allocator@entry=0xb96f26b8, format=format@entry=0) at buckets/deflate_buckets.c:90
> 90 ctx->stream_status = APR_SUCCESS;
> (gdb) backtrace
> #0 serf_bucket_deflate_create (stream=stream@entry=0x100a0, allocator=allocator@entry=0xb96f26b8, format=format@entry=0) at buckets/deflate_buckets.c:90
> #1 0x0805379a in deflate_buckets (nr_of_loops=242, tc=0x80650d0) at test/test_buckets.c:1327
> #2 test_deflate_buckets (tc=0x80650d0) at test/test_buckets.c:1382
> #3 0x0804b9b4 in CuTestRun (tc=tc@entry=0x80650d0) at test/CuTest.c:173
> #4 0x0804c054 in CuSuiteRun (testSuite=testSuite@entry=0x8062190) at test/CuTest.c:357
> #5 0x0804b2fb in main (argc=1, argv=0xbffff164) at test/test_all.c:95
and...
> Program received signal SIGSEGV, Segmentation fault.
> create_aggregate (allocator=allocator@entry=0xb96f26b8) at buckets/aggregate_buckets.c:73
> 73 ctx->list = NULL;
> (gdb) backtrace
> #0 create_aggregate (allocator=allocator@entry=0xb96f26b8) at buckets/aggregate_buckets.c:73
> #1 0xb7fc85eb in serf_bucket_aggregate_create (allocator=allocator@entry=0xb96f26b8) at buckets/aggregate_buckets.c:88
> #2 0x08053782 in deflate_buckets (nr_of_loops=242, tc=0x80650d0) at test/test_buckets.c:1326
> #3 test_deflate_buckets (tc=0x80650d0) at test/test_buckets.c:1382
> #4 0x0804b9b4 in CuTestRun (tc=tc@entry=0x80650d0) at test/CuTest.c:173
> #5 0x0804c054 in CuSuiteRun (testSuite=testSuite@entry=0x8062190) at test/CuTest.c:357
> #6 0x0804b2fb in main (argc=1, argv=0xbffff164) at test/test_all.c:95
Both referenced points in code accessing an object allocated with
serf_bucket_mem_alloc. strace ends with:
> mmap2(NULL, 102400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb96b9000
> mmap2(NULL, 102400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb96d2000
> mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x12000
> mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not permitted)
> --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x200c} ---
> +++ killed by SIGSEGV +++
Options used:
> scons 'CFLAGS=-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g' check -j2
openSUSE 13.1 i586 gcc 4.8.1. There are more SIGSEGV in trunk, maybe
similar, but this being in the release worries me just now. I'll look at
this further soon but maybe someone familiar with the code can make
sense of the above faster.
Andreas