View Issue Details

IDProjectCategoryView StatusLast Update
0002569GNUnetcore servicepublic2012-11-05 18:33
ReporterLRN Assigned ToChristian Grothoff  
PriorityurgentSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.4Fixed in Version0.9.4 
Summary0002569: Crash while freeing server mst in test_gnunet_fs_psd.py
Descriptionsubj
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
TagsNo tags attached.

Activities

Christian Grothoff

2012-09-29 21:18

manager   ~0006385

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.

Issue History

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