From: Adriano d. S. F. <adr...@gm...> - 2011-05-27 01:16:11
|
Hi! I got a crash running this test against current 2.5 branch in super-classic mode. I can't reproduce it anymore. Here is what I got. "xdrs" points to freed memory. ------------ Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff28cc700 (LWP 5640)] 0x000000000042960d in inet_putbytes (xdrs=0x7ffff7fc4e08, buff=0x7ffff28cb94c "", count=4) at ../src/remote/inet.cpp:2798 2798 *xdrs->x_private++ = *buff++; (gdb) bt #0 0x000000000042960d in inet_putbytes (xdrs=0x7ffff7fc4e08, buff=0x7ffff28cb94c "", count=4) at ../src/remote/inet.cpp:2798 #1 0x0000000000429679 in inet_putlong (xdrs=0x7ffff7fc4e08, lp=0x7ffff28cb97c) at ../src/remote/inet.cpp:2818 #2 0x00000000004343e2 in xdr_enum (xdrs=0x7ffff7fc4e08, ip=0x7ffff7fc4290) at ../src/remote/xdr.cpp:337 #3 0x000000000042cff9 in xdr_protocol (xdrs=0x7ffff7fc4e08, p=0x7ffff7fc4290) at ../src/remote/protocol.cpp:271 #4 0x0000000000428e08 in send_full (port=0x7ffff7fc4ce8, packet=0x7ffff7fc4290) at ../src/remote/inet.cpp:2438 #5 0x0000000000432c68 in rem_port::send (this=0x7ffff7fc4ce8, pckt=0x7ffff7fc4290) at ../src/remote/remote.cpp:661 #6 0x000000000040b195 in rem_port::disconnect (this=0x7ffff7fc3790, sendL=0x7ffff7fc3a18, receiveL=0x7ffff7fc3e28) at ../src/remote/server.cpp:1676 #7 0x000000000040ee36 in process_packet (port=0x7ffff7fc3790, sendL=0x7ffff7fc3a18, receive=0x7ffff7fc3e28, result=0x7ffff28cbdc0) at ../src/remote/server.cpp:3357 #8 0x0000000000412157 in loopThread () at ../src/remote/server.cpp:5212 #9 0x00007ffff725e60c in (anonymous namespace)::ThreadArgs::run (this=0x7ffff28cbe50) at ../src/jrd/ThreadStart.cpp:128 #10 0x00007ffff725e68d in (anonymous namespace)::threadStart (arg=0x7ffff7f70e80) at ../src/jrd/ThreadStart.cpp:139 #11 0x00007ffff6da4d8c in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #12 0x00007ffff610b04d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #13 0x0000000000000000 in ?? () (gdb) print buff $1 = (const SCHAR *) 0x7ffff28cb94c "" (gdb) print xdrs $2 = (XDR *) 0x7ffff7fc4e08 (gdb) print *xdrs $3 = {x_op = 3735928559, x_ops = 0xdeadbeefdeadbeef, x_public = 0xdeadbeefdeadbeef <Address 0xdeadbeefdeadbeef out of bounds>, x_private = 0xdeadbeefdeadbeef <Address 0xdeadbeefdeadbeef out of bounds>, x_base = 0xdeadbeefdeadbeef <Address 0xdeadbeefdeadbeef out of bounds>, x_handy = 8191} ------------ Adriano |