View Issue Details

IDProjectCategoryView StatusLast Update
0002036GNUnetfile-sharing servicepublic2011-12-26 22:28
ReporterLRN Assigned ToChristian Grothoff  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.9.0 
Target Version0.9.1Fixed in Version0.9.1 
Summary0002036: Crash when cancelling FS request
Descriptionr18814 + 6
Just happened completely out of the blue (gnunet-fs-gtk was not running, nor was any fs commandline utility).
Additional Information
Reading symbols from d:\progs\gnunet\bin\gnunet-service-fs.exe...done.
[Switching to Thread 9676.0x35b4]
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 9676.0x3768]
0x004037a7 in cancel_pending_request (cls=0x0, query=0x61746164, value=0xb26dee8) at gnunet-service-fs_cp.c:773
773       GNUNET_break (GNUNET_YES ==
(gdb) bt
#0  0x004037a7 in cancel_pending_request (cls=0x0, query=0x61746164, value=0xb26dee8) at gnunet-service-fs_cp.c:773
#1  0x004038df in peer_request_destroy (cls=0xb26dee8, tc=0x28fc90) at gnunet-service-fs_cp.c:797
#2  0x6be74e9f in run_ready (rs=0x6384a0, ws=0x9e8fd8) at scheduler.c:684
#3  0x6be7560d in GNUNET_SCHEDULER_run (task=0x6be7f972 <service_task>, task_cls=0x28fe28) at scheduler.c:874
#4  0x6be80656 in GNUNET_SERVICE_run (argc=5, argv=0x62b5b0, serviceName=0x417167 "fs", opt=GNUNET_SERVICE_OPTION_NONE, task=0x401e3d <run>,
    task_cls=0x0) at service.c:1673
#5  0x00402060 in main (argc=5, argv=0x62b5b0) at gnunet-service-fs.c:652
(gdb) l
768         peerreq->kill_task = GNUNET_SCHEDULER_NO_TASK;
769       }
770       GNUNET_STATISTICS_update (GSF_stats, gettext_noop ("# P2P searches active"),
771                                 -1, GNUNET_NO);
772       prd = GSF_pending_request_get_data_ (pr);
773       GNUNET_break (GNUNET_YES ==
774                     GNUNET_CONTAINER_multihashmap_remove (cp->request_map,
775                                                           &prd->query, peerreq));
776       GSF_pending_request_cancel_ (pr, GNUNET_NO);
777       GNUNET_free (peerreq);
(gdb) p peerreq
$1 = (struct PeerRequest *) 0xb26dee8
(gdb) p prd->query
Cannot access memory at address 0x61746164
(gdb) p cp->request_map
Cannot access memory at address 0x726f759b
(gdb) p cp
$2 = (struct GSF_ConnectedPeer *) 0x726f7473
(gdb) p *cp
Cannot access memory at address 0x726f7473
(gdb) p *peerreq
$3 = {pr = 0x61746164, cp = 0x726f7473, kill_task = 0}
TagsNo tags attached.

Activities

Christian Grothoff

2011-12-26 17:52

manager   ~0005208

Task was not cancelled on one 'free' path. Unified 'free' paths into new 'free_pending_request_function' which adds the cancellation code in SVN 18826.

Issue History

Date Modified Username Field Change
2011-12-26 09:10 LRN New Issue
2011-12-26 13:06 Christian Grothoff Assigned To => Christian Grothoff
2011-12-26 13:06 Christian Grothoff Status new => assigned
2011-12-26 13:06 Christian Grothoff Product Version => 0.9.0
2011-12-26 13:06 Christian Grothoff Target Version => 0.9.1
2011-12-26 17:52 Christian Grothoff Note Added: 0005208
2011-12-26 17:52 Christian Grothoff Status assigned => resolved
2011-12-26 17:52 Christian Grothoff Fixed in Version => 0.9.1
2011-12-26 17:52 Christian Grothoff Resolution open => fixed
2011-12-26 22:28 Christian Grothoff Status resolved => closed