View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002637 | GNUnet | cadet service | public | 2012-11-07 18:42 | 2012-12-21 16:49 |
| Reporter | LRN | Assigned To | Bart Polot | ||
| Priority | normal | Severity | crash | Reproducibility | unable to reproduce |
| Status | closed | Resolution | duplicate | ||
| Product Version | Git master | ||||
| Target Version | 0.9.5 | Fixed in Version | Git master | ||
| Summary | 0002637: Crash in mesh service during perf_stream_api test | ||||
| Description | subj | ||||
| Additional Information |
Reading symbols from d:\progs\gnunet\lib\gnunet\libexec\gnunet-service-mesh.exe...done.
Continuing.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 13276.0x2f8c]
0x62b56816 in GNUNET_CONTAINER_multihashmap_get (map=0xdf0adba, key=0x28fba0) at container_multihashmap.c:251
251 me = map->map[idx_of (map, key)];
(gdb) bt
#0 0x62b56816 in GNUNET_CONTAINER_multihashmap_get (map=0xdf0adba, key=0x28fba0) at container_multihashmap.c:251
#1 0x00402ee5 in announce_application (cls=0x0, key=0x28fba0, value=0x4904d8) at gnunet-service-mesh.c:1805
#2 0x62b56a4d in GNUNET_CONTAINER_multihashmap_iterate (map=0x499228, it=0x402dec <announce_application>, it_cls=0x0) at container_multihashmap.c:326
#3 0x004031c4 in announce_applications (cls=0x0, tc=0x28fc60) at gnunet-service-mesh.c:1880
#4 0x62b7f991 in run_ready (rs=0x56e940, ws=0x569fe8) at scheduler.c:597
#5 0x62b8012f in GNUNET_SCHEDULER_run (task=0x62b8c487 <service_task>, task_cls=0x28fdf8) at scheduler.c:785
#6 0x62b8d2b4 in GNUNET_SERVICE_run (argc=3, argv=0x48a498, service_name=0x423c5a <__register_frame_info+4340826> "mesh", options=GNUNET_SERVICE_OPTION_NONE, task=0x41bdb1 <run>, task_cls=0x0) at service.c:1813
#7 0x0041c9e9 in main (argc=3, argv=0x48a498) at gnunet-service-mesh.c:8472
(gdb) p map
$1 = (const struct GNUNET_CONTAINER_MultiHashMap *) 0xdf0adba
(gdb) up
#1 0x00402ee5 in announce_application (cls=0x0, key=0x28fba0, value=0x4904d8) at gnunet-service-mesh.c:1805
1805 block.type = (long) GNUNET_CONTAINER_multihashmap_get (c->apps, key);
(gdb) p/x *c
$2 = {next = 0x49fe68, prev = 0x48f9d0, own_tunnels = 0xdf0adba, incoming_tunnels = 0xdf0adba, ignore_tunnels = 0xdf0adba, handle = 0xdf0adba, apps = 0xdf0adba, types = 0xdf0adba, shutting_down = 0xdf0adba, id = 0xdf0adba, regexes = 0xdf0adba,
n_regex = 0xdf0adba, regex_announce_task = 0xdf0adba0df0adba}
(gdb) l
1800 struct MeshClient *c;
1801
1802 block.id = my_full_id;
1803 c = GNUNET_CONTAINER_multihashmap_get (applications, key);
1804 GNUNET_assert(NULL != c);
1805 block.type = (long) GNUNET_CONTAINER_multihashmap_get (c->apps, key);
1806 if (0 == block.type)
1807 {
1808 GNUNET_break(0);
1809 return GNUNET_YES;
also in the _same_ test:
Reading symbols from d:\progs\gnunet\lib\gnunet\libexec\gnunet-service-mesh.exe...done.
Continuing.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 10160.0x1584]
0x004067f7 in tunnel_poll (cls=0x5fea38, tc=0x28fc60) at gnunet-service-mesh.c:2988
2988 msg.tid = htonl (t->id.tid);
(gdb) bt
#0 0x004067f7 in tunnel_poll (cls=0x5fea38, tc=0x28fc60) at gnunet-service-mesh.c:2988
#1 0x62b7f991 in run_ready (rs=0x5f9fe8, ws=0x5fb000) at scheduler.c:597
#2 0x62b8012f in GNUNET_SCHEDULER_run (task=0x62b8c487 <service_task>, task_cls=0x28fdf8) at scheduler.c:785
#3 0x62b8d2b4 in GNUNET_SERVICE_run (argc=3, argv=0x1d5a498, service_name=0x423c5a <__register_frame_info+4340826> "mesh", options=GNUNET_SERVICE_OPTION_NONE, task=0x41bdb1 <run>, task_cls=0x0) at service.c:1813
#4 0x0041c9e9 in main (argc=3, argv=0x1d5a498) at gnunet-service-mesh.c:8472
(gdb) p/x *t
Cannot access memory at address 0xdf0adba
(gdb) l
2983 }
2984
2985 t = cinfo->t;
2986 msg.header.type = htons (GNUNET_MESSAGE_TYPE_MESH_POLL);
2987 msg.header.size = htons (sizeof (msg));
2988 msg.tid = htonl (t->id.tid);
2989 GNUNET_PEER_resolve (t->id.oid, &msg.oid);
2990 msg.last_ack = htonl (cinfo->fwd_ack);
2991
2992 GNUNET_PEER_resolve (cinfo->id, &id);
(gdb) p/x *cinfo
$1 = {id = 0x17, skip = 0xdf0adba, fwd_pid = 0x27b0, bck_pid = 0xdf0adba, fwd_ack = 0xdf0adba, bck_ack = 0xdf0adba, send_buffer = 0x8, send_buffer_start = 0x0, send_buffer_n = 0x274, t = 0xdf0ad75, fc_poll = 0x0}
This happens at the end of the test, when, apparently, peers are shutting down. After killing two crashing processes, i see: Testing over 1 hop with payload size 50000 Testing Uplink Progress: [0%...........25%............50%............75%............100%] Throughput 4736.64 kB/sec Testing Downlink Progress: [0%...........25%............50%............75%............100%] Throughput 6370.24 kB/sec PASS: perf_stream_api.exe in the console. Ran this test specifically a few times, failed to reproduce the crash. | ||||
| Tags | No tags attached. | ||||
| duplicate of | 0002660 | closed | Bart Polot | crash in mesh (running 'make check' in fs/ directory left a present...) |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-11-07 18:42 | LRN | New Issue | |
| 2012-11-07 18:42 | LRN | Status | new => assigned |
| 2012-11-07 18:42 | LRN | Assigned To | => Bart Polot |
| 2012-11-10 14:12 | Christian Grothoff | Product Version | => Git master |
| 2012-11-10 14:12 | Christian Grothoff | Target Version | => 0.9.5 |
| 2012-12-06 17:33 | Bart Polot | Note Added: 0006649 | |
| 2012-12-06 17:33 | Bart Polot | Relationship added | duplicate of 0002660 |
| 2012-12-06 17:33 | Bart Polot | Status | assigned => resolved |
| 2012-12-06 17:33 | Bart Polot | Fixed in Version | => Git master |
| 2012-12-06 17:33 | Bart Polot | Resolution | open => duplicate |
| 2012-12-21 16:49 | Christian Grothoff | Status | resolved => closed |
| 2014-05-09 18:34 | Christian Grothoff | Category | mesh service => cadet service |