View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001618 | GNUnet | core service | public | 2010-11-12 14:11 | 2011-09-19 10:45 |
| Reporter | mrwiggles | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | crash | Reproducibility | random |
| Status | closed | Resolution | fixed | ||
| Summary | 0001618: Core segfault | ||||
| Description | See traces below, this happens more often than any other when running lots of peers. The transmit handle is obviously garbage by the time this gets called. I'm guessing there's something wrong with the cleaning task. | ||||
| Additional Information | #0 GNUNET_TRANSPORT_notify_transmit_ready_cancel (th=0x20007f0) at transport_api.c:1869 #0 GNUNET_TRANSPORT_notify_transmit_ready_cancel (th=0x20007f0) at transport_api.c:1869 #1 0x0000000000402f7e in free_neighbour (n=0x20041e0) at gnunet-service-core.c:1254 #2 0x00000000004038f6 in cleaning_task (cls=<value optimized out>, tc=<value optimized out>) at gnunet-service-core.c:3931 (gdb) print *th $3 = {neighbour = 0xc9f789b2db74b73c, notify = 0xdca54687f2d0310d, notify_cls = 0xe953ba9eed12312d, notify_delay_task = 12745338902540692070, timeout = { abs_value = 4988047160665810704}, notify_size = 844231822741600669, priority = 890925694} | ||||
| Tags | No tags attached. | ||||
|
|
It seems that after the core service crashes in this way, when a process calls GNUNET_CORE_disconnect with a handle to the service (which it thinks is still valid) that process dies with an assertion failure at: #2 0x00007f06e92b954a in GNUNET_CLIENT_notify_transmit_ready_cancel (th=0x1916db0) at client.c:890 #3 0x00007f06e9cf5987 in GNUNET_CORE_disconnect (handle=0x19097c0) at core_api.c:1397 |
|
|
I've added a few extra checks (asserts) to help with the diagnosis. Also, the line numbers reported did not match the current code BY FAR, so maybe re-running it with HEAD would be useful... |
|
|
#0 GNUNET_TRANSPORT_notify_transmit_ready_cancel (th=0x1915240) at transport_api.c:1869 #0 GNUNET_TRANSPORT_notify_transmit_ready_cancel (th=0x1915240) at transport_api.c:1869 #1 0x000000000040396e in free_neighbour (n=0x19152e0) at gnunet-service-core.c:1529 #2 0x00000000004053a6 in cleaning_task (cls=<value optimized out>, tc=<value optimized out>) at gnunet-service-core.c:4234 This is where it happens (with svn head from a recent version). I just didn't re-report the new line numbers as they changed (same issue). |
|
|
Fixed in SVN 13751. |
|
|
Current stack trace... #0 0x00007ff9e5b25ed5 in raise () from /lib/libc.so.6 #1 0x00007ff9e5b273f3 in abort () from /lib/libc.so.6 #2 0x00007ff9e6882402 in GNUNET_SCHEDULER_cancel (task=1290582702840) at scheduler.c:910 #3 0x00007ff9e6a993a5 in GNUNET_TRANSPORT_notify_transmit_ready_cancel (th=0x9fcb80) at transport_api.c:1883 #4 0x0000000000404340 in free_neighbour (n=0xa1d470) at gnunet-service-core.c:1543 #5 0x000000000040938e in cleaning_task (cls=0x0, tc=0x7fff1478ae40) at gnunet-service-core.c:4246 #6 0x00007ff9e6881cc8 in run_ready (rs=0x9abf50, ws=0x9b0b50) at scheduler.c:644 #7 0x00007ff9e68820d7 in GNUNET_SCHEDULER_run (task=0x7ff9e6887f83 <service_task>, task_cls=0x7fff1478b300) at scheduler.c:786 #8 0x00007ff9e6888e3e in GNUNET_SERVICE_run (argc=3, argv=0x7fff1478b4f8, serviceName=0x40a342 "core", opt=GNUNET_SERVICE_OPTION_NONE, task=0x4094b5 <run>, task_cls=0x0) at service.c:1577 |
|
|
Could you please try again with 13797 (and valgrind traces would make me very happy...). |
|
|
May have been fixed with core and transport changes, won't know until other stuff is working again. |
|
|
Issue was fixed after transport hashmap change, verified with testing. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2010-11-12 14:11 | mrwiggles | New Issue | |
| 2010-11-18 11:44 | mrwiggles | Note Added: 0004171 | |
| 2010-11-18 11:45 | mrwiggles | Description Updated | |
| 2010-11-18 11:46 | mrwiggles | Status | new => assigned |
| 2010-11-18 11:46 | mrwiggles | Assigned To | => Christian Grothoff |
| 2010-11-18 22:53 | Christian Grothoff | Note Added: 0004174 | |
| 2010-11-19 11:31 | mrwiggles | Note Added: 0004178 | |
| 2010-11-19 14:00 | Christian Grothoff | Note Added: 0004181 | |
| 2010-11-19 14:00 | Christian Grothoff | Status | assigned => resolved |
| 2010-11-19 14:00 | Christian Grothoff | Resolution | open => fixed |
| 2010-11-24 11:53 | mrwiggles | Note Added: 0004186 | |
| 2010-11-24 11:53 | mrwiggles | Status | resolved => feedback |
| 2010-11-24 11:53 | mrwiggles | Resolution | fixed => reopened |
| 2010-11-24 17:23 | Christian Grothoff | Status | feedback => assigned |
| 2010-11-24 17:34 | Christian Grothoff | Note Added: 0004187 | |
| 2010-12-01 17:33 | mrwiggles | Note Added: 0004192 | |
| 2010-12-21 14:27 | Christian Grothoff | Status | assigned => feedback |
| 2010-12-21 14:54 | mrwiggles | Note Added: 0004212 | |
| 2010-12-21 14:54 | mrwiggles | Status | feedback => closed |
| 2010-12-21 14:54 | mrwiggles | Resolution | reopened => fixed |
| 2010-12-21 14:54 | mrwiggles | Fixed in Version | => Git master |
| 2011-09-19 10:45 | Christian Grothoff | Fixed in Version | Git master => 0.9.0pre3 |
| 2011-09-19 10:45 | Christian Grothoff | Target Version | => 0.9.0pre3 |