View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005582 | GNUnet | namestore service | public | 2019-02-16 23:56 | 2020-08-14 12:04 |
Reporter | schanzen | Assigned To | schanzen | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | reopened | ||
OS | macOS | ||||
Product Version | Git master | ||||
Target Version | 0.11.0 | ||||
Summary | 0005582: namestore tests fail on macOS | ||||
Description | The 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. | ||||
Tags | No tags attached. | ||||
|
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 |
|
Commenting line 191 (get_record). Makes the test pass without corruption. The tests is kind of strange anyway... maybe it needs to be rewritten... |
|
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. |
|
Added this as target for 0.11.1 for now. |
|
This is still a valid issue |
|
For now ifdef'd test for macos to make it work. |
|
I don't understand what you think is wrong about the test. It has to load the plugin before using it (especially given that its written independent of the specific plugin under test), and then unloads it (which tests plugin unloading). Looks logical to me. |
|
There is nothing wrong with the test. But for some reason the unload segfaults on macOS. This is an issue we already talked about. I cannot track it down. The bug is not in our code (presumably). The plugin also "works" w/o segfault in the actual service. |
|
Test mitigation is implemented for a long time now |
|
Closing as resolved since at least 0.13.2 |
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 | => Git master |
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 |
2019-10-11 18:37 | schanzen | Status | closed => feedback |
2019-10-11 18:37 | schanzen | Resolution | fixed => reopened |
2019-10-11 18:37 | schanzen | Note Added: 0015001 | |
2019-10-11 18:40 | schanzen | Note Added: 0015002 | |
2019-10-11 18:40 | schanzen | Fixed in Version | 0.11.0 => |
2019-10-11 20:50 | Christian Grothoff | Note Added: 0015003 | |
2019-10-11 21:36 | schanzen | Note Added: 0015004 | |
2019-10-11 21:36 | schanzen | OS | => macOS |
2019-11-08 11:25 | schanzen | Status | feedback => assigned |
2020-02-10 23:56 | schanzen | Status | assigned => resolved |
2020-02-10 23:56 | schanzen | Fixed in Version | => 0.12.3 |
2020-02-10 23:56 | schanzen | Note Added: 0015342 | |
2020-08-14 12:04 | schanzen | Note Added: 0016624 | |
2020-08-14 12:04 | schanzen | Status | resolved => closed |