Modify

Opened 5 years ago

Last modified 5 years ago

#12051 new defect

include $(INCLUDE_DIR)/uclibc++.mk kills my program (sigsegv)

Reported by: markus.doits@… Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: packages Version: Trunk
Keywords: Cc:

Description

See see https://github.com/doits/ola-openwrt-feed for my feed.

When trying to install an updated boblight, I changed my Makefile to match the one in the rep. This leads to the following sigsegv of my program:

Program received signal SIGSEGV, Segmentation fault.
0x77985a4c in memcmp () from /lib/libc.so.0
(gdb) bt full
#0  0x77985a4c in memcmp () from /lib/libc.so.0
No symbol table info available.
#1  0x77cd0310 in std::tr1::_Hashtable<std::string, std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type>, std::allocator<std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type> >, std::_Select1st<std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type> >, std::equal_to<std::string>, google::protobuf::hash<std::string>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>::_M_find_node (__p=<value optimized out>, __k=<value optimized out>)
    at /data/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/include/c++/4.6.3/bits/char_traits.h:257
No locals.
#2  0x77cda3f0 in std::tr1::__detail::_Map_base<std::string, std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type>, std::_Select1st<std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type> >, true, std::tr1::_Hashtable<std::string, std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type>, std::allocator<std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type> >, std::_Select1st<std::pair<std::string const, google::protobuf::FieldDescriptorProto_Type> >, std::equal_to<std::string>, google::protobuf::hash<std::string>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >::operator[] (this=0x77d0f970, __k=@0x7fca7620)
    at /data/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/include/c++/4.6.3/bits/basic_string.h:235
        __h = (
    std::tr1::_Hashtable<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, google::protobuf::FieldDescriptorProto_Type>, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, google::protobuf::FieldDescriptorProto_Type> >, std::_Select1st<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, google::protobuf::FieldDescriptorProto_Type> >, std::equal_to<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, google::protobuf::hash<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> *) 0x77d0f970
        __code = 448222
        __n = 5
        __p = <value optimized out>
#3  0x77cd34b8 in __static_initialization_and_destruction_0 (__initialize_p=<value optimized out>)
    at /data/openwrt/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/include/c++/4.6.3/bits/basic_string.h:235
No locals.
#4  0x77cdabd4 in __do_global_ctors_aux () from /usr/lib/libprotobuf.so.7
No symbol table info available.
#5  0x77c30ad8 in ?? () from /usr/lib/libprotobuf.so.7
No symbol table info available.
Backtrace stopped: frame did not save the PC

I traced it down to the following line in the Makefile:

include $(INCLUDE_DIR)/uclibc++.mk

If I remove the line, the program does not crash at all anymore (see https://github.com/doits/ola-openwrt-feed/blob/master/boblight/Makefile for a non crashing version). Adding the include above before inclusion of package.mk already triggers the error on running (changing nothing more, not adding $(CXX_DEPENDS) at all)).

Looks like the include has some side-effects it shouldn't have? trunk r33212

Attachments (0)

Change History (1)

comment:1 Changed 5 years ago by jogo

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker (trunk)

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.