View Issue Details

IDProjectCategoryView StatusLast Update
0005582GNUnetnamestore servicepublic2019-02-28 11:17
ReporterschanzenAssigned Toschanzen 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionSVN HEAD 
Target Version0.11.0Fixed in Version0.11.0 
Summary0005582: namestore tests fail on macOS
DescriptionThe namestore tests, in particular those related to the sqlite plugin, fail with a segfault.
The segfault occurs _after_ the main of the test returns, which indicates a stack corruption.
Unfortunately, for macOS 10.14 there is no valgrind yet and I had to luck with gdb until now.
TagsNo tags attached.

Activities

schanzen

2019-02-17 15:03

developer   ~0013842

My lldb output:

(lldb) run
Process 60864 launched: '.libs/test_plugin_namestore_sqlite' (x86_64)
Process 60864 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10042e637)
    frame #0: 0x000000010042e637
error: memory read failed for 0x10042e600
Target 0: (test_plugin_namestore_sqlite) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10042e637)
  * frame #0: 0x000000010042e637
    frame #1: 0x0000000100086938 dyld`initialPool + 40
    frame #2: 0x0000000100086938 dyld`initialPool + 40
    frame #3: 0x000000010001cff3 dyld`ImageLoaderMachO::doTermination(ImageLoader::LinkContext const&) + 251
    frame #4: 0x0000000100006824 dyld`dyld::runAllStaticTerminators(void*) + 68
    frame #5: 0x00007fff61395ef2 libsystem_c.dylib`__cxa_finalize_ranges + 351
    frame #6: 0x00007fff613961de libsystem_c.dylib`exit + 55
    frame #7: 0x00007fff612ecee0 libdyld.dylib`start + 8

schanzen

2019-02-17 16:28

developer   ~0013843

Commenting line 191 (get_record). Makes the test pass without corruption.
The tests is kind of strange anyway... maybe it needs to be rewritten...

schanzen

2019-02-17 16:37

developer   ~0013845

To be honest I find this test rather odd to begin with. I mean, what are we testing here exactly? The service loads and uses the plugin differently and we shouldn't really duplicate that code in the test and instead... test it.
And this is what we do in the rest of the tests. So I think before fixing this mess we should replace it with something simpler or drop it.

schanzen

2019-02-23 13:08

developer   ~0013959

Added this as target for 0.11.1 for now.

Issue History

Date Modified Username Field Change
2019-02-16 23:56 schanzen New Issue
2019-02-17 15:03 schanzen Note Added: 0013842
2019-02-17 16:28 schanzen Note Added: 0013843
2019-02-17 16:37 schanzen Note Added: 0013845
2019-02-17 20:28 schanzen Status new => feedback
2019-02-23 13:07 schanzen Product Version => SVN HEAD
2019-02-23 13:07 schanzen Target Version => 0.11.1
2019-02-23 13:08 schanzen Note Added: 0013959
2019-02-23 13:08 schanzen Status feedback => new
2019-02-23 13:12 schanzen Assigned To => schanzen
2019-02-23 13:12 schanzen Status new => assigned
2019-02-23 13:17 schanzen Status assigned => resolved
2019-02-23 13:17 schanzen Resolution open => fixed
2019-02-23 13:17 schanzen Fixed in Version => 0.11.0
2019-02-28 10:51 Christian Grothoff Target Version 0.11.1 => 0.11.0
2019-02-28 11:17 Christian Grothoff Status resolved => closed