View Issue Details

IDProjectCategoryView StatusLast Update
0001976GNUnetdatastore servicepublic2011-12-26 22:28
ReporterLRN Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.1Fixed in Version0.9.1 
Summary0001976: Crash in datastore service
DescriptionI've been twiddling with config options (i think i've made dht cache size to be too large), and after a restart i've got this crash. Crashinfo12.txt is attached.
Additional InformationAttaching to process 9564
[New Thread 9564.0x3c6c]
[New Thread 9564.0x3f8c]
[New Thread 9564.0x2e3c]
Reading symbols from d:\progs\gnunet\bin\gnunet-service-datastore.exe...done.
[Switching to Thread 9564.0x2e3c]
(gdb) bt
#0 0x77ad000d in ntdll!LdrFindResource_U () from E:\Windows\SysWOW64\ntdll.dll
#1 0x77b5f826 in ntdll!RtlQueryTimeZoneInformation () from E:\Windows\SysWOW64\ntdll.dll
#2 0x338fe6e5 in ?? ()
#3 0x00000000 in ?? ()
(gdb) c
Continuing.

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 9564.0x3c6c]
0x7522280d in KERNELBASE!DeleteAce () from E:\Windows\syswow64\KernelBase.dll
(gdb) bt
#0 0x7522280d in KERNELBASE!DeleteAce () from E:\Windows\syswow64\KernelBase.dll
#1 0x6be46564 in GNUNET_abort () at common_logging.c:271
#2 0x6be45b65 in GNUNET_xmalloc_unchecked_ (size=2147483648, filename=0x6be89be0 "container_bloomfilter.c", linenumber=485)
    at common_allocation.c:139
#3 0x6be5119a in GNUNET_CONTAINER_bloomfilter_load (filename=0x1dc4e98 "E:\\Users\\LRN\\\\.gnunet\\fs\\bloomfilter", size=2147483648, k=5)
    at container_bloomfilter.c:485
#4 0x0040559d in _fu161__skip_log () at gnunet-service-datastore.c:1509
#5 0x6be7f59a in service_task (cls=0x28fe18, tc=0x28fc80) at service.c:1437
#6 0x6be7458f in run_ready (rs=0x1dbd548, ws=0x1dc3680) at scheduler.c:684
#7 0x6be74cfd in GNUNET_SCHEDULER_run (task=0x6be7f05a <service_task>, task_cls=0x28fe18) at scheduler.c:874
#8 0x6be7fd3e in GNUNET_SERVICE_run (argc=3, argv=0x1dbac40, serviceName=0x408894 "datastore", opt=GNUNET_SERVICE_OPTION_NONE,
    task=0x4052e6 <run>, task_cls=0x0) at service.c:1669
#9 0x0040582b in main (argc=3, argv=0x1dbac40) at gnunet-service-datastore.c:1564
(gdb) up 4
#4 0x0040559d in _fu161__skip_log () at gnunet-service-datastore.c:1509
1509 filter = GNUNET_CONTAINER_bloomfilter_load (fn, bf_size, 5); /* approx. 3% false positives at max use */
(gdb) p bf_size
$1 = 1250000000
TagsNo tags attached.
Attached Files
crashinfo12.txt (1,994 bytes)   
Attaching to process 9564
[New Thread 9564.0x3c6c]
[New Thread 9564.0x3f8c]
[New Thread 9564.0x2e3c]
Reading symbols from d:\progs\gnunet\bin\gnunet-service-datastore.exe...done.
[Switching to Thread 9564.0x2e3c]
(gdb) bt
#0  0x77ad000d in ntdll!LdrFindResource_U () from E:\Windows\SysWOW64\ntdll.dll
#1  0x77b5f826 in ntdll!RtlQueryTimeZoneInformation () from E:\Windows\SysWOW64\ntdll.dll
#2  0x338fe6e5 in ?? ()
#3  0x00000000 in ?? ()
(gdb) c
Continuing.

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 9564.0x3c6c]
0x7522280d in KERNELBASE!DeleteAce () from E:\Windows\syswow64\KernelBase.dll
(gdb) bt
#0  0x7522280d in KERNELBASE!DeleteAce () from E:\Windows\syswow64\KernelBase.dll
#1  0x6be46564 in GNUNET_abort () at common_logging.c:271
#2  0x6be45b65 in GNUNET_xmalloc_unchecked_ (size=2147483648, filename=0x6be89be0 "container_bloomfilter.c", linenumber=485)
    at common_allocation.c:139
#3  0x6be5119a in GNUNET_CONTAINER_bloomfilter_load (filename=0x1dc4e98 "E:\\Users\\LRN\\\\.gnunet\\fs\\bloomfilter", size=2147483648, k=5)
    at container_bloomfilter.c:485
#4  0x0040559d in _fu161__skip_log () at gnunet-service-datastore.c:1509
#5  0x6be7f59a in service_task (cls=0x28fe18, tc=0x28fc80) at service.c:1437
#6  0x6be7458f in run_ready (rs=0x1dbd548, ws=0x1dc3680) at scheduler.c:684
#7  0x6be74cfd in GNUNET_SCHEDULER_run (task=0x6be7f05a <service_task>, task_cls=0x28fe18) at scheduler.c:874
#8  0x6be7fd3e in GNUNET_SERVICE_run (argc=3, argv=0x1dbac40, serviceName=0x408894 "datastore", opt=GNUNET_SERVICE_OPTION_NONE,
    task=0x4052e6 <run>, task_cls=0x0) at service.c:1669
#9  0x0040582b in main (argc=3, argv=0x1dbac40) at gnunet-service-datastore.c:1564
(gdb) up 4
#4  0x0040559d in _fu161__skip_log () at gnunet-service-datastore.c:1509
1509        filter = GNUNET_CONTAINER_bloomfilter_load (fn, bf_size, 5);        /* approx. 3% false positives at max use */
(gdb) p bf_size
$1 = 1250000000
(gdb)
crashinfo12.txt (1,994 bytes)   

Activities

LRN

2011-12-04 03:21

developer   ~0005008

Last edited: 2011-12-04 03:27

OK, it was because i've set datastore quota to 40 GB

The assertion that fails is:
  GNUNET_assert_at (size < INT_MAX, filename, linenumber);

Question:
Why do we limit it at INT_MAX? malloc() takes size_t, which is at least UINT_MAX, and maybe even larger.

Christian Grothoff

2011-12-06 15:14

manager   ~0005011

Fixed in SVN 18460.

Issue History

Date Modified Username Field Change
2011-12-04 03:18 LRN New Issue
2011-12-04 03:18 LRN File Added: crashinfo12.txt
2011-12-04 03:19 LRN Category datacache library => datastore service
2011-12-04 03:21 LRN Note Added: 0005008
2011-12-04 03:27 LRN Note Edited: 0005008
2011-12-04 12:24 Christian Grothoff Assigned To => Christian Grothoff
2011-12-04 12:24 Christian Grothoff Status new => assigned
2011-12-06 15:14 Christian Grothoff Note Added: 0005011
2011-12-06 15:14 Christian Grothoff Status assigned => resolved
2011-12-06 15:14 Christian Grothoff Fixed in Version => 0.9.1
2011-12-06 15:14 Christian Grothoff Resolution open => fixed
2011-12-06 15:15 Christian Grothoff Target Version => 0.9.1
2011-12-26 22:28 Christian Grothoff Status resolved => closed