On Mon, Jul 9, 2012 at 11:25 AM, Liu Yuan <[email protected]> wrote: > On 07/09/2012 09:58 AM, Liu Yuan wrote: >> Got an weird segfault, >> >> (gdb) where >> #0 0x0000000000411936 in do_process_work (work=0xd13c70) at ops.c:992 >> #1 0x000000000040ed05 in worker_routine (arg=0xd12a20) at work.c:171 >> #2 0x00007f43f992c971 in start_thread (arg=<value optimized out>) at >> pthread_create.c:304 >> #3 0x00007f43f8eeef3d in clone () at >> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 >> #4 0x0000000000000000 in ?? () >> >> sheep.log: >> ... >> Jul 09 09:47:23 [main] client_handler(764) connection seems to be dead >> Jul 09 09:47:23 [main] clear_client(703) refcnt:0, fd:14, ::1:43328 >> Jul 09 09:47:23 [main] destroy_client(672) connection from: ::1:43328 >> Jul 09 09:47:23 [main] cdrv_cpg_deliver(448) 5 >> Jul 09 09:47:23 [main] sd_notify_handler(851) size: 96, from: IPv4 >> ip:127.0.0.1 port:7000 >> Jul 09 09:47:23 [main] client_tx_handler(663) connection from: 13, ::1:43330 >> Jul 09 09:47:23 [main] client_handler(764) connection seems to be dead >> Jul 09 09:47:23 [main] clear_client(703) refcnt:0, fd:13, ::1:43330 >> Jul 09 09:47:23 [main] destroy_client(672) connection from: ::1:43330 >> Jul 09 09:47:23 [main] listen_handler(819) accepted a new connection: 13 >> Jul 09 09:47:23 [main] listen_handler(819) accepted a new connection: 14 >> Jul 09 09:47:23 [block] do_process_work(990) 80, 0 , 32579 <--- XXX >> Jul 09 09:47:23 [main] client_rx_handler(577) connection from: 14, ::1:43337 >> Jul 09 09:47:23 [main] queue_request(323) 2 >> Jul 09 09:47:23 [main] crash_handler(408) sheep pid 5326 exited >> unexpectedly. >> >> Thanks, >> Yuan >> > > Yet another segfault. > > #0 __libc_free (mem=0x7f3301864000) at malloc.c:3709 > 3709 malloc.c: No such file or directory. > in malloc.c > (gdb) where > #0 __libc_free (mem=0x7f3301864000) at malloc.c:3709 > #1 0x00000000004090a1 in free_request (req=0x7f32fc000a00) at sdnet.c:474 > #2 0x00000000004098bd in client_tx_handler (ci=0x7f32fc0143c0) at > sdnet.c:656 > #3 0x0000000000409d32 in client_handler (fd=14, events=4, > data=0x7f32fc0143c0) at sdnet.c:760 > #4 0x000000000041e470 in event_loop (timeout=-1) at event.c:179 > #5 0x0000000000404376 in main (argc=7, argv=0x7fff9f1566a8) at sheep.c:275
I have fix this bug, we should use list_for_each_entry_safe instread of list_for_each_entry to loop when we need to delete node in it. > > -- > sheepdog mailing list > [email protected] > http://lists.wpkg.org/mailman/listinfo/sheepdog > -- Yunkai Zhang Work at Taobao -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
