Project

General

Profile

Bug #908

multi_index tests failed with the same call stack if being built by clang-3.5

Added by Dmitry Moskalchuk over 5 years ago. Updated over 5 years ago.

Status:
Invalid
Priority:
High
Category:
-
Target version:
-
Start date:
03/20/2015
Due date:
% Done:

0%

Estimated time:
CPU Architecture:
x86, x86_64
Host OS:
Toolchain:
clang-3.5
Android version:
CrystaX Version:

Description

http://www.boost.org/development/tests/develop/developer/multi_index.html

Example:

Segmentation fault

=== BEGIN OF LOGCAT ===
LOGCAT > 03-14 03:58:45.761 6285 6285 F libc : Fatal signal 11 (SIGSEGV) at 0xffffffc4 (code=1), thread 6285 (test_basic)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : Build fingerprint: 'generic_x86/sdk_x86/generic_x86:4.4.2/KK/999428:eng/test-keys'
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : Revision: '0'
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : pid: 6285, tid: 6285, name: test_basic >>> ./test_basic <<<
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr ffffffc4
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : eax bfd08028 ebx b8778030 ecx ffffffc4 edx 00000000
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : esi 00000000 edi ffffffc4
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : xcs 00000073 xds 0000007b xes 0000007b xfs 00000000 xss 0000007b
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : eip b7720eb2 ebp bfd07cb8 esp bfd07c80 flags 00010282
LOGCAT > 03-14 03:58:45.891 936 936 E Corkscrew: unrecognized dwarf lower part encoding: 0x28
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG :
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : backtrace:
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : #00 pc 00008eb2 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : #01 pc 0000375c /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG :
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : stack:
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c40 000000d8

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c44 00000000

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c48 bfd08140 [stack]
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c4c b74fbfcc /system/lib/libc.so
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c50 00000010

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c54 b7725184 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c58 00000003

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c5c b746d1af /system/lib/libc.so (malloc+31)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c60 00000010

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c64 b8778170 [heap]
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c68 00000035

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c6c 00000034

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c70 00000035

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c74 b746d196 /system/lib/libc.so (malloc+6)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c78 b76e9e2c /data/local/tmp/adbrunner/x86/lib/libgnustl_shared.so
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c7c b7720e84 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : #00 bfd07c80 00000010

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c84 00000000

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c88 000000d4

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c8c b7700af5 /system/bin/linker (__dl_madvise+37)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c90 b762fb9c /data/local/tmp/adbrunner/x86/lib/libgnustl_shared.so (operator new(unsigned int)+12)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c94 b7727ff4 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c98 00000003

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07c9c b76a7f96 /data/local/tmp/adbrunner/x86/lib/libgnustl_shared.so (std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator const&)+102)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07ca0 00000010

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07ca4 b8778030 [heap]
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07ca8 00000035

LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07cac b7727ff4 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07cb0 bfd08088 [stack]
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07cb4 b7727ff4 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07cb8 bfd07d18 [stack]
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfd07cbc b771b75d /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG :
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : memory map around fault addr ffffffc4:
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : bfce9000-bfd0a000 rw- [stack]
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : (no map for address)
LOGCAT > 03-14 03:58:45.891 936 936 I DEBUG : (no map above)
LOGCAT > 03-14 03:58:45.891 1188 1412 W NativeCrashListener: Couldn't find ProcessRecord for pid 6285
=== END OF LOGCAT ===

=== BEGIN OF NDK-STACK ===
NDK-STACK > ********** Crash dump: **********
NDK-STACK > Build fingerprint: 'generic_x86/sdk_x86/generic_x86:4.4.2/KK/999428:eng/test-keys'
NDK-STACK > pid: 6285, tid: 6285, name: test_basic >>> ./test_basic <<<
NDK-STACK > signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr ffffffc4
NDK-STACK > Stack frame #00 pc 00008eb2 /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic: Routine employee::operator<(employee const&) const at /home/cislave/.crystax/ci-boost/regression/abi-x86/apilevel-19/std-default/test/develop/regression/x86/test/boost_root/status/../libs/multi_index/test/employee.hpp:74
NDK-STACK > Stack frame #01 pc 0000375c /data/local/tmp/adbrunner/x86/3eb8448e-2f97-4c5f-bb85-9c0325a45ea7/test_basic: Routine std::pair > >, boost::multi_index::detail::hashed_unique_tag> > >, boost::multi_index::detail::hashed_non_unique_tag> >*, bool> boost::multi_index::multi_index_container >::insert_boost::multi_index::detail::lvalue_tag(employee const&, boost::multi_index::detail::lvalue_tag) at /home/cislave/.crystax/ci-boost/regression/abi-x86/apilevel-19/std-default/test/develop/regression/x86/test/boost_root/status/../boost/multi_index_container.hpp:558
=== END OF NDK-STACK ===

EXIT STATUS: 139

#2

Updated by Dmitry Moskalchuk over 5 years ago

  • Status changed from Open to Invalid

False negative: it was bug in multi_index itself, not in NDK. Here is related commit: https://github.com/boostorg/multi_index/commit/4ee43076b815d2a842026e654181d410817be884.

Also available in: Atom PDF