View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002569 | GNUnet | core service | public | 2012-09-29 15:42 | 2012-11-05 18:33 |
Reporter | LRN | Assigned To | Christian Grothoff | ||
Priority | urgent | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.9.4 | Fixed in Version | 0.9.4 | ||
Summary | 0002569: Crash while freeing server mst in test_gnunet_fs_psd.py | ||||
Description | subj May or may not be related to the fact that previous test left some processes: PASS: perf_gnunet_service_fs_p2p_respect.exe Timeout communicating with ARM service. PASS: test_gnunet_fs_psd.py killing arm process 11172 gnunet-service-arm killing non-arm process 8612 gnunet-service-core | ||||
Additional Information | Program received signal SIGSEGV, Segmentation fault. 0x62affdef in GNUNET_SERVER_mst_destroy (mst=0x0) at server_mst.c:310 310 GNUNET_free (mst->hdr); (gdb) bt #0 0x62affdef in GNUNET_SERVER_mst_destroy (mst=0x0) at server_mst.c:310 #1 0x004041b6 in GSC_CLIENTS_done () at gnunet-service-core_clients.c:902 #2 0x00401458 in shutdown_task (cls=0x0, tc=0x28fc80) at gnunet-service-core.c:78 #3 0x62af95bc in run_ready (rs=0x68afe8, ws=0x68c000) at scheduler.c:602 #4 0x62af9d5e in GNUNET_SCHEDULER_run (task=0x62b060b7 <service_task>, task_cls=0x28fe18) at scheduler.c:790 #5 0x62b06e16 in GNUNET_SERVICE_run (argc=3, argv=0x1dec5d0, service_name=0x40f12a <__register_frame_info+4256042> "core", options=GNUNET_SERVICE_OPTION_NONE, task=0x401641 <run>, task_cls=0x0) at service.c:1804 #6 0x00401882 in main (argc=3, argv=0x1dec5d0) at gnunet-service-core.c:180 (gdb) l 305 * @param mst tokenizer to destroy 306 */ 307 void 308 GNUNET_SERVER_mst_destroy (struct GNUNET_SERVER_MessageStreamTokenizer *mst) 309 { 310 GNUNET_free (mst->hdr); 311 GNUNET_free (mst); 312 } 313 314 (gdb) p mst $1 = (struct GNUNET_SERVER_MessageStreamTokenizer *) 0x0 | ||||
Tags | No tags attached. | ||||
|
Ah! The recent splitting of gnunet-service-core's "run" method into a pre-key generation and post-key generation part means that IF gnunet-service-core is shutdown prior to key generation completion, GSC_CLIENTS_done might be called even though GSC_CLIENTS_init was never invoked. In this case, client_mst is NULL. Fix is trivial. An equivalent issue also applies to GSC_SESSIONS. Both are fixed in SVN 24130. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-09-29 15:42 | LRN | New Issue | |
2012-09-29 15:43 | LRN | Description Updated | |
2012-09-29 15:43 | LRN | Additional Information Updated | |
2012-09-29 16:31 | Christian Grothoff | Assigned To | => Christian Grothoff |
2012-09-29 16:31 | Christian Grothoff | Status | new => assigned |
2012-09-29 16:31 | Christian Grothoff | Priority | normal => urgent |
2012-09-29 16:31 | Christian Grothoff | Target Version | => 0.9.4 |
2012-09-29 21:18 | Christian Grothoff | Note Added: 0006385 | |
2012-09-29 21:18 | Christian Grothoff | Status | assigned => resolved |
2012-09-29 21:18 | Christian Grothoff | Fixed in Version | => 0.9.4 |
2012-09-29 21:18 | Christian Grothoff | Resolution | open => fixed |
2012-11-05 18:33 | Christian Grothoff | Status | resolved => closed |