Skip to content
This repository has been archived by the owner on Feb 21, 2019. It is now read-only.

build error and segfault on start when compiled with gcc 5.1 #1527

Open
maqifrnswa opened this issue Apr 30, 2015 · 1 comment
Open

build error and segfault on start when compiled with gcc 5.1 #1527

maqifrnswa opened this issue Apr 30, 2015 · 1 comment

Comments

@maqifrnswa
Copy link
Contributor

crash on start up, compiled with gcc 5.1 (released two weeks ago). If i start up with bitshares_client --rebuild-index, it is fine, but will crash the next time again.

backtrace:

(gdb) run
Starting program: /home/showard/bitcoin/bitshares/programs/client/bitshares_client 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Loading blockchain from: /home/showard/.BitShares/chain
Loading config from file: /home/showard/.BitShares/config.json
Using blockchain checkpoints from file: /home/showard/.BitShares/checkpoints.json
[New Thread 0xb61ffb40 (LWP 21883)]
[New Thread 0xb6bfeb40 (LWP 21882)]
[New Thread 0xb7729b40 (LWP 21881)]
[New Thread 0xb55ffb40 (LWP 21884)]

Program received signal SIGSEGV, Segmentation fault.
__memcpy_sse2_unaligned () at ../sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S:482
482 ../sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: No such file or directory.
(gdb) bt full
#0  __memcpy_sse2_unaligned () at ../sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S:482
No locals.
#1  0x09305cde in SHA256_Update.part.0 ()
No symbol table info available.
#2  0x09305ea8 in SHA256_Update ()
No symbol table info available.
#3  0x08cdf62b in pack<fc::sha256::encoder> (value=std::vector of length -1497318928, capacity 2007451015 = {...}, s=...)
    at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:198
No locals.
#4  operator()<std::vector<char>, bts::blockchain::operation, &bts::blockchain::operation::data> (name=0x946e9b5 "data", this=<optimized out>)
    at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:234
No locals.
#5  visit<fc::raw::detail::pack_object_visitor<fc::sha256::encoder, bts::blockchain::operation> > (v=...)
    at /home/showard/bitcoin/bitshares/libraries/blockchain/include/bts/blockchain/operations.hpp:156
No locals.
#6  pack<fc::sha256::encoder, bts::blockchain::operation> (v=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:280
No locals.
#7  pack<fc::sha256::encoder, bts::blockchain::operation> (v=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:316
No locals.
#8  pack<fc::sha256::encoder, bts::blockchain::operation> (v=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:462
No locals.
#9  pack<fc::sha256::encoder, bts::blockchain::operation> (value=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:418
---Type <return> to continue, or q <return> to quit---
        itr = {type = {value = 403577912}, data = std::vector of length -1497318928, capacity 2007451015 = {<error reading variable>
#10 operator()<std::vector<bts::blockchain::operation>, bts::blockchain::transaction, &bts::blockchain::transaction::operations> (name=<synthetic pointer>, 
    this=<optimized out>) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:234
No locals.
#11 visit<fc::raw::detail::pack_object_visitor<fc::sha256::encoder, bts::blockchain::transaction> > (v=...)
    at /home/showard/bitcoin/bitshares/libraries/blockchain/include/bts/blockchain/transaction.hpp:148
No locals.
#12 pack<fc::sha256::encoder, bts::blockchain::transaction> (v=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:280
No locals.
#13 pack<fc::sha256::encoder, bts::blockchain::transaction> (v=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:316
No locals.
#14 pack<fc::sha256::encoder, bts::blockchain::transaction> (v=..., s=...) at /home/showard/bitcoin/bitshares/libraries/fc/include/fc/io/raw.hpp:462
No locals.
#15 bts::blockchain::transaction::digest (this=0xbfffd860, chain_id=...) at /home/showard/bitcoin/bitshares/libraries/blockchain/transaction.cpp:17
        enc = {my = {_store = {_store = {_align = -1.5671249868344602e-22, 
                _data = "g\346\tj\205\256g\273r\363n<:\365O\245\177R\016Q\214h\005\233\253ك\037\031\315\340[\340\317\005\066\005\000\000\000u\301\032\201\000\002\070\360\363\202\266\n", '\000' <repeats 52 times>, "\f\000\000\000 \000\000"}}}}
#16 0x08e945e8 in bts::blockchain::unique_transaction_key::unique_transaction_key (this=0x180e1c78, t=..., chain_id=...)
    at /home/showard/bitcoin/bitshares/libraries/blockchain/include/bts/blockchain/transaction_record.hpp:13
No locals.
#17 0x0906b002 in __gnu_cxx::new_allocator<std::_Rb_tree_node<bts::blockchain::unique_transaction_key> >::construct<bts::blockchain::unique_transaction_key, bts::blockchain::transaction const&, fc::sha256>(bts::blockchain::unique_transaction_key*, bts::blockchain::transaction const&, fc::sha256&&) (this=0xa29c364, 
---Type <return> to continue, or q <return> to quit---
    __p=0x180e1c78) at /usr/include/c++/5/ext/new_allocator.h:120
No locals.
#18 0x090170e8 in std::allocator_traits<std::allocator<std::_Rb_tree_node<bts::blockchain::unique_transaction_key> > >::_S_construct<bts::blockchain::unique_transaction_key, bts::blockchain::transaction const&, fc::sha256>(std::allocator<std::_Rb_tree_node<bts::blockchain::unique_transaction_key> >&, bts::blockchain::unique_transaction_key*, bts::blockchain::transaction const&, fc::sha256&&) (__a=..., __p=0x180e1c78) at /usr/include/c++/5/bits/alloc_traits.h:256
No locals.
#19 0x09001bd0 in std::allocator_traits<std::allocator<std::_Rb_tree_node<bts::blockchain::unique_transaction_key> > >::construct<bts::blockchain::unique_transaction_key, bts::blockchain::transaction const&, fc::sha256>(std::allocator<std::_Rb_tree_node<bts::blockchain::unique_transaction_key> >&, bts::blockchain::unique_transaction_key*, bts::blockchain::transaction const&, fc::sha256&&) (__a=..., __p=0x180e1c78) at /usr/include/c++/5/bits/alloc_traits.h:402
No locals.
#20 0x08fe1d3d in std::_Rb_tree<bts::blockchain::unique_transaction_key, bts::blockchain::unique_transaction_key, std::_Identity<bts::blockchain::unique_transaction_key>, std::less<bts::blockchain::unique_transaction_key>, std::allocator<bts::blockchain::unique_transaction_key> >::_M_construct_node<bts::blockchain::transaction const&, fc::sha256>(std::_Rb_tree_node<bts::blockchain::unique_transaction_key>*, bts::blockchain::transaction const&, fc::sha256&&) (this=0xa29c364, 
    __node=0x180e1c68) at /usr/include/c++/5/bits/stl_tree.h:530
No locals.
#21 0x08fb414f in std::_Rb_tree<bts::blockchain::unique_transaction_key, bts::blockchain::unique_transaction_key, std::_Identity<bts::blockchain::unique_transaction_key>, std::less<bts::blockchain::unique_transaction_key>, std::allocator<bts::blockchain::unique_transaction_key> >::_M_create_node<bts::blockchain::transaction const&, fc::sha256>(bts::blockchain::transaction const&, fc::sha256&&) (this=0xa29c364) at /usr/include/c++/5/bits/stl_tree.h:547
        __tmp = 0x180e1c68
#22 0x08f5f765 in std::_Rb_tree<bts::blockchain::unique_transaction_key, bts::blockchain::unique_transaction_key, std::_Identity<bts::blockchain::unique_transaction_key>, std::less<bts::blockchain::unique_transaction_key>, std::allocator<bts::blockchain::unique_transaction_key> >::_M_emplace_unique<bts::blockchain::transaction const&, fc::sha256>(bts::blockchain::transaction const&, fc::sha256&&) (this=0xa29c364) at /usr/include/c++/5/bits/stl_tree.h:2133
---Type <return> to continue, or q <return> to quit---
        __z = 0xa29afa8
#23 0x08ecafd3 in std::set<bts::blockchain::unique_transaction_key, std::less<bts::blockchain::unique_transaction_key>, std::allocator<bts::blockchain::unique_transaction_key> >::emplace<bts::blockchain::transaction const&, fc::sha256>(bts::blockchain::transaction const&, fc::sha256&&) (this=0xa29c364)
    at /usr/include/c++/5/bits/stl_set.h:433
No locals.
#24 0x08e23641 in bts::blockchain::detail::chain_database_impl::populate_indexes (this=0xa29b5d0)
    at /home/showard/bitcoin/bitshares/libraries/blockchain/chain_database.cpp:219
        trx = @0xbfffd860: {expiration = {utc_seconds = 2166014325}, reserved = {_value = {1.9311681893100275e+158, 1.5167383556035335e+53, 618139517139303.38, 
              -1.9904865014251045, -1.9918442151055986, -1.9905895214891984, 1.0440941560640541e-259, -1.9937064647655642}, _valid = false}, 
          operations = std::vector of length 2, capacity 2 = {{type = {value = 403577912}, data = std::vector of length -1497318928, capacity 2007451015 = {
                <error reading variable>, {type = {value = 1257854519}, data = std::vector of length -1337473453, capacity -856541716 = {
                <error reading variable>}}
        iter = {_it = std::shared_ptr (count 1, weak 0) 0x180d5ff8}
        __FUNCTION__ = "populate_indexes"
#25 0x08e456c4 in bts::blockchain::chain_database::open(fc::path const&, fc::optional<fc::path> const&, bool, std::function<void (float)>) (this=0xa29af74, 
    data_dir=..., genesis_file=..., statistics_enabled=false, replay_status_callback=...)
    at /home/showard/bitcoin/bitshares/libraries/blockchain/chain_database.cpp:1523
        head_block_num = 564789
        head_block_id = {_hash = {369923190, 305955985, 3610495823, 2097984202, 1272405642}}
        error_opening_database = {_M_exception_object = 0x0}
        __FUNCTION__ = "open"
#26 0x08557986 in bts::client::client::open(fc::path const&, fc::optional<fc::path> const&, fc::optional<bool>, std::function<void (float)>) (this=0xa261334, 
---Type <return> to continue, or q <return> to quit---
    data_dir=..., genesis_file_path=..., statistics_enabled=..., replay_status_callback=...) at /home/showard/bitcoin/bitshares/libraries/client/client.cpp:1298
        attempt_to_recover_database = false
        __FUNCTION__ = "open"
#27 0x0855a55b in bts::client::client::configure_from_command_line (this=0xa261334, argc=1, argv=0xbfffefd4)
    at /home/showard/bitcoin/bitshares/libraries/client/client.cpp:1503
        option_variables = <incomplete type>
        datadir = {static separator_char = 47 '/', _p = {_store = {_store = {_align = 8.4246566040498253e-316, 
                _data = "\324\341)\n\000\000\000\000n\000\000\000\351I\376\267t)\222\b\274\204\265\267x\t\000\000\351I\376\267"}}}}
        genesis_file_path = {_value = {-7.4283563662964846e-41, 9.9344877739104338e-310, -1.7362648492373199e-40, 2.1221480448180652e-310, 
            3.0896258716839736e-311, 4.6683908132453147e-313, 1.6551567178570525e-312, 1.9734560856075846e-312, 2.3341953700617995e-312, 
            2.5251749912486741e-312, 2.6312747807969377e-312, 1.432790372939615e-322, -1.7362654773618394e-40, 8.9828091888678975e-260, 
            8.9828049843777306e-260, 8.4124047641642541e-316, 8.2666130473818203e+182, 7.1935958034485497e-321, 8.9733564235526405e-260, -1.9956894298968244, 
            1.5709485988470787e-268, 8.9733522209913325e-260, -3.8213155136754235e-40, 3.5465520191039433e-264, 8.9732821958347856e-260, -1.9958198070516389, 
            1.4819181452160391e-268, 3.5477028990144435e-264, -3.2444118835589918e-40, 8.586681850838804e-260, -1.7362654773618394e-40, 
            -6.4858844304953735e-40}, _valid = false}
        statistics_enabled = {_value = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, 
            <optimized out>}, _valid = <optimized out>}
        p2p_port = <optimized out>
        __FUNCTION__ = "configure_from_command_line"
#28 0x085324b8 in main (argc=1, argv=0xbfffefd4) at /home/showard/bitcoin/bitshares/programs/client/main.cpp:32
        client = std::shared_ptr (count 1, weak 1) 0xa261334
        __FUNCTION__ = "main"
(gdb) 
@maqifrnswa maqifrnswa changed the title segfault on start when compiled with gcc 5 segfault on start when compiled with gcc 5.1 May 1, 2015
@maqifrnswa
Copy link
Contributor Author

So it bulds on 32 bit but fails to start.

On 64 bit, version 0.9.1 fails to compile with gcc 5.1:

[ 40%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/sstream.cpp.o
In file included from /home/showard/bitcoin/bitshares/libraries/fc/src/io/sstream.cpp:2:0:
/home/showard/bitcoin/bitshares/libraries/fc/include/fc/fwd_impl.hpp: In instantiation of ‘void fc::check_size() [with long unsigned int RequiredSize = 392ul; long unsigned int ProvidedSize = 368ul]’:
/home/showard/bitcoin/bitshares/libraries/fc/include/fc/fwd_impl.hpp:63:43:   required from ‘fc::fwd<T, S, Align>::fwd(U&&) [with U = std::__cxx11::basic_string<char>&; T = fc::stringstream::impl; unsigned int S = 368u; Align = double]’
/home/showard/bitcoin/bitshares/libraries/fc/src/io/sstream.cpp:24:8:   required from here
/home/showard/bitcoin/bitshares/libraries/fc/include/fc/fwd_impl.hpp:58:25: error: static assertion failed: Failed to reserve enough space in fc::fwd<T,S>
     void check_size() { static_assert( (ProvidedSize >= RequiredSize), "Failed to reserve enough space in fc::fwd<T,S>" 
                         ^
libraries/fc/CMakeFiles/fc.dir/build.make:583: recipe for target 'libraries/fc/CMakeFiles/fc.dir/src/io/sstream.cpp.o' failed```

@maqifrnswa maqifrnswa changed the title segfault on start when compiled with gcc 5.1 build error and segfault on start when compiled with gcc 5.1 May 6, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant