citp/BlockSci

segfault importing bitcoin mainnet

siccegge opened this issue · 4 comments

Please provide a clear and concise description of the problem.

Reproduction Steps

This is always happening at the same location in the blockchain

/srv/scratch/bitcoin/usr/bin/blocksci_parser blocksci.conf update

415GB of free disk space available.                      
OK: Open files limit of 131072. 
2.93% done, Block 419019/419500
Thread 214 "blocksci_parser" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff524ba700 (LWP 28246)]
0x000055555561aada in mpark::detail::visitation::base::dispatcher<5ul>::impl<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(AnyScriptOutput const&, bool)::{lambda(auto:1&)#1}>&&, mpark::detail::base<(mpark::detail::Trait)1, ScriptOutput<(blocksci::AddressType::Enum)0>, mpark::detail::Trait<(blocksci::AddressType)1>, mpark::detail::Trait<(blocksci::AddressType)2>, mpark::detail::Trait<(blocksci::AddressType)3>, mpark::detail::Trait<(blocksci::AddressType)4>, mpark::detail::Trait<(blocksci::AddressType)5>, mpark::detail::Trait<(blocksci::AddressType)6>, mpark::detail::Trait<(blocksci::AddressType)7>, mpark::detail::Trait<(blocksci::AddressType)8>, mpark::detail::Trait<(blocksci::AddressType)9> > const&>::dispatch(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(AnyScriptOutput const&, bool)::{lambda(auto:1&)#1}>, mpark::detail::base<(mpark::detail::Trait)1, ScriptOutput<(blocksci::AddressType::Enum)0>, mpark::detail::Trait<(blocksci::AddressType)1>, mpark::detail::Trait<(blocksci::AddressType)2>, mpark::detail::Trait<(blocksci::AddressType)3>, mpark::detail::Trait<(blocksci::AddressType)4>, mpark::detail::Trait<(blocksci::AddressType)5>, mpark::detail::Trait<(blocksci::AddressType)6>, mpark::detail::Trait<(blocksci::AddressType)7>, mpark::detail::Trait<(blocksci::AddressType)8>, mpark::detail::Trait<(blocksci::AddressType)9> > const) ()
(gdb) bt full
#0  0x000055555561aada in mpark::detail::visitation::base::dispatcher<5ul>::impl<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(AnyScriptOutput const&, bool)::{lambda(auto:1&)#1}>&&, mpark::detail::base<(mpark::detail::Trait)1, ScriptOutput<(blocksci::AddressType::Enum)0>, mpark::detail::Trait<(blocksci::AddressType)1>, mpark::detail::Trait<(blocksci::AddressType)2>, mpark::detail::Trait<(blocksci::AddressType)3>, mpark::detail::Trait<(blocksci::AddressType)4>, mpark::detail::Trait<(blocksci::AddressType)5>, mpark::detail::Trait<(blocksci::AddressType)6>, mpark::detail::Trait<(blocksci::AddressType)7>, mpark::detail::Trait<(blocksci::AddressType)8>, mpark::detail::Trait<(blocksci::AddressType)9> > const&>::dispatch(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(AnyScriptOutput const&, bool)::{lambda(auto:1&)#1}>, mpark::detail::base<(mpark::detail::Trait)1, ScriptOutput<(blocksci::AddressType::Enum)0>, mpark::detail::Trait<(blocksci::AddressType)1>, mpark::detail::Trait<(blocksci::AddressType)2>, mpark::detail::Trait<(blocksci::AddressType)3>, mpark::detail::Trait<(blocksci::AddressType)4>, mpark::detail::Trait<(blocksci::AddressType)5>, mpark::detail::Trait<(blocksci::AddressType)6>, mpark::detail::Trait<(blocksci::AddressType)7>, mpark::detail::Trait<(blocksci::AddressType)8>, mpark::detail::Trait<(blocksci::AddressType)9> > const) ()
No symbol table info available.
#1  0x000055555561ba6b in AddressWriter::serializeWrappedScript(ScriptInputData<(blocksci::AddressType::Enum)4> const&, unsigned int, unsigned int) ()
No symbol table info available.
#2  0x000055555561b446 in AddressWriter::serializeWrappedScript(AnyScriptInput const&, unsigned int, unsigned int) ()
No symbol table info available.
#3  0x0000555555627424 in std::_Function_handler<void (RawTransaction&), SerializeAddressesStep::steps()::{lambda(RawTransaction&)#1}>::_M_invoke(std::_Any_data const&, RawTransaction&) ()
No symbol table info available.
#4  0x00005555556304fe in ProcessSubStep::processNext() ()
No symbol table info available.
#5  0x0000555555630a19 in std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> (), std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker<std::tuple<ProcessStepQueue::run()::{lambda()#1}> >, void> >::_M_invoke(std::_Any_data const&) ()                              
No symbol table info available.
#6  0x000055555562efeb in std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*) ()
No symbol table info available.
#7  0x00007ffff7570997 in __pthread_once_slow (once_control=0x555555c69578, init_routine=0x7ffff7497e20 <__once_proxy>) at pthread_once.c:116
        _buffer = {__routine = 0x7ffff75709f0 <clear_once_control>, __arg = 0x555555c69578, __canceltype = 0, __prev = 0x0}
        val = <optimized out>
        newval = <optimized out>
#8  0x000055555562fd8d in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) ()
No symbol table info available.
#9  0x000055555562fefa in std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::__future_base::_Async_state_impl<std::thread::_Invoker<std::tuple<ProcessStepQueue::run()::{lambda()#1}> >, void>::_Async_state_impl(std::tuple<ProcessStepQueue::run()::{lambda()#1}>&&)::{lambda()#1}> > >::_M_run() ()                                                                                                                       
No symbol table info available.
#10 0x00007ffff7498b2f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#11 0x00007ffff7568fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140734574077696, -5232080137578278965, 140737488244398, 140737488244399, 140734574077696, 4294967297, 5232424391077597131, 5232061784664772555}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}                                                                                                                      
        not_first_call = <optimized out>
#12 0x00007ffff71784cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

System Information

Using AMI: no
BlockSci version: 6d50682 / Refs: [master], {origin/master}, {origin/HEAD}, <v0.7.0>
Blockchain: Bitcoin
Parser: Disk
Total memory: 384 GB

Narrowed it down a bit

/srv/scratch/bitcoin/usr/bin/blocksci_parser blocksci.conf update                                                                 
406GB of free disk space available.
OK: Open files limit of 131072.

Locking data directory.
100.0% done fetching block headers
Starting with chain of 419025 blocks
Adding 1 blocks
zsh: segmentation fault  /srv/scratch/bitcoin/usr/bin/blocksci_parser blocksci.conf update

Now at debug build:

blocksci_parser: /home/egger/software/BlockSci/src/internal/../internal/file_mapper.hpp:657: auto blocksci::IndexedFileMapper<mode, T>::getData(std::enable_if_t<(Z <= 1), unsigned int>) [with long unsigned int Z = 1; mio::detail::access_mode mode = (mio::detail::access_mode)1; T = {blocksci::MultisigData}; std::enable_if_t<(Z <= 1), unsigned int> = unsigned int]: Assertion `index < size()' failed.

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 140734669846608, 0, 140737338373239, 4222451712, 140734669846608, 140734669846909, 140734669846608, 140734669846608, 140734669847009, 140734669847308, 140734669846608, 140734669847308, 0, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007ffff70a1535 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x7fff5800f850, sa_sigaction = 0x7fff5800f850}, sa_mask = {__val = {0, 140734669783072, 140734669847024, 0, 0, 0, 21474836480, 140734574480216, 140734574480064, 140737339488944, 140737339473632, 0, 7148842799599652352, 140737339458490, 0, 140737339473632}}, sa_flags = 1437673584, sa_restorer = 0x555555b12a41}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff70a140f in __assert_fail_base (fmt=0x7ffff7203ee0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555555b12a41 "index < size()", file=0x555555b12870 "/home/egger/software/BlockSci/src/internal/../internal/file_mapper.hpp", line=657, function=<optimized out>) at assert.c:92
        str = 0x7fff5800f850 ""
        total = 4096
#3  0x00007ffff70af102 in __GI___assert_fail (assertion=0x555555b12a41 "index < size()", file=0x555555b12870 "/home/egger/software/BlockSci/src/internal/../internal/file_mapper.hpp", line=657, 
    function=0x555555b15160 <blocksci::IndexedFileMapper<(mio::detail::access_mode)1, blocksci::MultisigData>::getData<1ul>(std::enable_if<(1ul)<=(1), unsigned int>::type)::__PRETTY_FUNCTION__> "auto blocksci::IndexedFileMapper<mode, T>::getData(std::enable_if_t<(Z <= 1), unsigned int>) [with long unsigned int Z = 1; mio::detail::access_mode mode = (mio::detail::access_mode)1; T = {blocksci::"...) at assert.c:101
No locals.
#4  0x00005555555b3785 in blocksci::IndexedFileMapper<(mio::detail::access_mode)1, blocksci::MultisigData>::getData<1ul> (this=0x7fffffff4f70, index=8018607) at /home/egger/software/BlockSci/src/internal/../internal/file_mapper.hpp:657
        __PRETTY_FUNCTION__ = "auto blocksci::IndexedFileMapper<mode, T>::getData(std::enable_if_t<(Z <= 1), unsigned int>) [with long unsigned int Z = 1; mio::detail::access_mode mode = (mio::detail::access_mode)1; T = {blocksci::"...
#5  0x00005555555b37be in blocksci::IndexedFileMapper<(mio::detail::access_mode)1, blocksci::MultisigData>::operator[] (this=0x7fffffff4f70, index=8018607) at /home/egger/software/BlockSci/src/internal/../internal/file_mapper.hpp:666
No locals.
#6  0x00005555555b37f1 in AddressWriter::serializeOutputImp<(blocksci::AddressType::Enum)5>(ScriptOutput<(blocksci::AddressType::Enum)5> const&, ScriptFile<blocksci::dedupType((blocksci::AddressType::Enum)5)>&, bool) (this=0x7fffffff4cd0, output=..., file=..., topLevel=false) at /home/egger/software/BlockSci/tools/parser/address_writer.hpp:54
        data = 0x7fffffff4cd0
#7  0x00005555555b1cd5 in AddressWriter::serializeExistingOutput<(blocksci::AddressType::Enum)5> (this=0x7fffffff4cd0, output=..., topLevel=false) at /home/egger/software/BlockSci/tools/parser/address_writer.hpp:109
        __PRETTY_FUNCTION__ = "void AddressWriter::serializeExistingOutput(const ScriptOutput<type>&, bool) [with blocksci::AddressType::Enum type = (blocksci::AddressType::Enum)5]"
        file = @0x7fffffff4f70: {<blocksci::IndexedFileMapper<(mio::detail::access_mode)1, blocksci::MultisigData>> = {static indexCount = 1, dataFile = {<blocksci::SimpleFileMapperBase<(mio::detail::access_mode)1>> = {<No data fields>}, file = {impl_ = {data_ = 0x7ff96da9b000 "\321\063#", file_handle_ = 230, length_ = 270449804, mapped_length_ = 270449804, is_handle_internal_ = true}}, fileInfo = {path = {
                  m_type = filesystem::path::posix_path, m_path = std::vector of length 7, capacity 8 = {"srv", "scratch", "bitcoin", "srv", "blocksci", "scripts", "multisig_script_data.dat"}, m_absolute = true}}, writePos = 270449804, static maxBufferSize = 50000000, buffer = std::vector of length 0, capacity 0, static mode = mio::detail::access_mode::write}, indexFile = {
              dataFile = {<blocksci::SimpleFileMapperBase<(mio::detail::access_mode)1>> = {<No data fields>}, file = {impl_ = {data_ = 0x7ff969d6d000 "", file_handle_ = 231, length_ = 64148856, mapped_length_ = 64148856, is_handle_internal_ = true}}, fileInfo = {path = {m_type = filesystem::path::posix_path, m_path = std::vector of length 7, capacity 8 = {"srv", "scratch", "bitcoin", "srv", "blocksci", "scripts", 
                      "multisig_script_index.dat"}, m_absolute = true}}, writePos = 64148856, static maxBufferSize = 50000000, buffer = std::vector of length 0, capacity 0, static mode = mio::detail::access_mode::write}}}, <No data fields>}
#8  0x00005555555a98ee in AddressWriter::<lambda(auto:191&)>::operator()<const ScriptOutput<(blocksci::AddressType::Enum)5> >(const ScriptOutput<(blocksci::AddressType::Enum)5> &) const (__closure=0x7fff5251cf20, scriptOutput=...) at /home/egger/software/BlockSci/tools/parser/address_writer.cpp:27
        this = 0x7fffffff4cd0
        topLevel = @0x7fff5251cf0c: false
#9  0x00005555555ac59f in mpark::lib::cpp17::invoke<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)>, const ScriptOutput<(blocksci::AddressType::Enum)5>&>(AddressWriter::<lambda(auto:191&)> &&, const ScriptOutput<(blocksci::AddressType::Enum)5> &) (f=..., as#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/lib.hpp:233
No locals.
#10 0x00005555555a992b in mpark::detail::visitation::variant::visit_exhaustive_visitor_check<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)>, const ScriptOutput<(blocksci::AddressType::Enum)5>&>::operator()(AddressWriter::<lambda(auto:191&)> &&, const ScriptOutput<(blocksci::AddressType::Enum)5> &) const (this=0x7fff5251cd9f, visitor=..., values#0=...)
    at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:684
No locals.
#11 0x00005555555a9978 in mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> >::operator()<const mpark::detail::alt<5, ScriptOutput<(blocksci::AddressType::Enum)5> >&>(const mpark::detail::alt<5, ScriptOutput<(blocksci::AddressType::Enum)5> > &) const (this=0x7fff5251ce88, alts#0=...)
    at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:697
No locals.
#12 0x00005555555ac5de in mpark::lib::cpp17::invoke<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> >, const mpark::detail::alt<5, ScriptOutput<(blocksci::AddressType::Enum)5> >&>(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> > &&, const mpark::detail::alt<5, ScriptOutput<(blocksci::AddressType::Enum)5> > &) (f=..., as#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/lib.hpp:233
No locals.
#13 0x00005555555a99ae in mpark::detail::visitation::base::dispatcher<5>::impl<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> >&&, const mpark::detail::base<(mpark::detail::Trait)1, ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> >&>::dispatch(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> > &&, const mpark::detail::base<(mpark::detail::Trait)1, ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> > &) (f=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:528
No locals.
#14 0x00005555555a9ded in mpark::detail::visitation::alt::visit_alt<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> >, const mpark::detail::impl<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> >&>(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> > &&, const mpark::detail::impl<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:663
No locals.
#15 0x00005555555a9e2e in mpark::detail::visitation::variant::visit_alt<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> >, const mpark::variant<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> >&>(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)> > &&, const mpark::variant<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:722
No locals.
#16 0x00005555555a9e7d in mpark::detail::visitation::variant::visit_value<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)>, const mpark::variant<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> >&>(AddressWriter::<lambda(auto:191&)> &&, const mpark::variant<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:737
No locals.
#17 0x00005555555a9f02 in mpark::visit<AddressWriter::serializeExistingOutput(const AnyScriptOutput&, bool)::<lambda(auto:191&)>, const mpark::variant<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> >&>(AddressWriter::<lambda(auto:191&)> &&, const mpark::variant<ScriptOutput<(blocksci::AddressType::Enum)0>, ScriptOutput<(blocksci::AddressType::Enum)1>, ScriptOutput<(blocksci::AddressType::Enum)2>, ScriptOutput<(blocksci::AddressType::Enum)3>, ScriptOutput<(blocksci::AddressType::Enum)4>, ScriptOutput<(blocksci::AddressType::Enum)5>, ScriptOutput<(blocksci::AddressType::Enum)6>, ScriptOutput<(blocksci::AddressType::Enum)7>, ScriptOutput<(blocksci::AddressType::Enum)8>, ScriptOutput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:1772
No locals.
#18 0x00005555555a9f46 in AddressWriter::serializeExistingOutput (this=0x7fffffff4cd0, output=..., topLevel=false) at /home/egger/software/BlockSci/tools/parser/address_writer.cpp:27
No locals.
#19 0x00005555555abbfe in AddressWriter::serializeWrappedScript (this=0x7fffffff4cd0, data=..., txNum=140010355, outputTxNum=139116255) at /home/egger/software/BlockSci/tools/parser/address_writer.cpp:108
No locals.
#20 0x00005555555aaf75 in AddressWriter::<lambda(auto:193&)>::operator()<const ScriptInput<(blocksci::AddressType::Enum)4> >(const ScriptInput<(blocksci::AddressType::Enum)4> &) const (__closure=0x7fff5251d1a0, scriptInput=...) at /home/egger/software/BlockSci/tools/parser/address_writer.cpp:35
        this = 0x7fffffff4cd0
        txNum = @0x7fff5251d18c: 140010355
        outputTxNum = @0x7fff5251d188: 139116255
#21 0x00005555555acf95 in mpark::lib::cpp17::invoke<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)>, const ScriptInput<(blocksci::AddressType::Enum)4>&>(AddressWriter::<lambda(auto:193&)> &&, const ScriptInput<(blocksci::AddressType::Enum)4> &) (f=..., as#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/lib.hpp:233
No locals.
#22 0x00005555555aafb3 in mpark::detail::visitation::variant::visit_exhaustive_visitor_check<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)>, const ScriptInput<(blocksci::AddressType::Enum)4>&>::operator()(AddressWriter::<lambda(auto:193&)> &&, const ScriptInput<(blocksci::AddressType::Enum)4> &) const (this=0x7fff5251d01f, visitor=..., values#0=...)
    at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:684
No locals.
#23 0x00005555555ab000 in mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> >::operator()<const mpark::detail::alt<4, ScriptInput<(blocksci::AddressType::Enum)4> >&>(const mpark::detail::alt<4, ScriptInput<(blocksci::AddressType::Enum)4> > &) const (this=0x7fff5251d108, alts#0=...)
    at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:697
No locals.
#24 0x00005555555acfd4 in mpark::lib::cpp17::invoke<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> >, const mpark::detail::alt<4, ScriptInput<(blocksci::AddressType::Enum)4> >&>(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> > &&, const mpark::detail::alt<4, ScriptInput<(blocksci::AddressType::Enum)4> > &) (f=..., as#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/lib.hpp:233
No locals.
#25 0x00005555555ab036 in mpark::detail::visitation::base::dispatcher<4>::impl<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> >&&, const mpark::detail::base<(mpark::detail::Trait)1, ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> >&>::dispatch(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> > &&, const mpark::detail::base<(mpark::detail::Trait)1, ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> > &) (f=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:528
No locals.
#26 0x00005555555ab581 in mpark::detail::visitation::alt::visit_alt<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> >, const mpark::detail::impl<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> >&>(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> > &&, const mpark::detail::impl<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:663
No locals.
#27 0x00005555555ab5c2 in mpark::detail::visitation::variant::visit_alt<mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> >, const mpark::variant<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> >&>(mpark::detail::visitation::variant::value_visitor<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)> > &&, const mpark::variant<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:722
No locals.
#28 0x00005555555ab611 in mpark::detail::visitation::variant::visit_value<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)>, const mpark::variant<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> >&>(AddressWriter::<lambda(auto:193&)> &&, const mpark::variant<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:737
No locals.
#29 0x00005555555ab696 in mpark::visit<AddressWriter::serializeWrappedScript(const AnyScriptInput&, uint32_t, uint32_t)::<lambda(auto:193&)>, const mpark::variant<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> >&>(AddressWriter::<lambda(auto:193&)> &&, const mpark::variant<ScriptInput<(blocksci::AddressType::Enum)0>, ScriptInput<(blocksci::AddressType::Enum)1>, ScriptInput<(blocksci::AddressType::Enum)2>, ScriptInput<(blocksci::AddressType::Enum)3>, ScriptInput<(blocksci::AddressType::Enum)4>, ScriptInput<(blocksci::AddressType::Enum)5>, ScriptInput<(blocksci::AddressType::Enum)6>, ScriptInput<(blocksci::AddressType::Enum)7>, ScriptInput<(blocksci::AddressType::Enum)8>, ScriptInput<(blocksci::AddressType::Enum)9> > &) (visitor=..., vs#0=...) at /home/egger/software/BlockSci/external/variant/include/mpark/variant.hpp:1772
No locals.
#30 0x00005555555ab6e3 in AddressWriter::serializeWrappedScript (this=0x7fffffff4cd0, input=..., txNum=140010355, outputTxNum=139116255) at /home/egger/software/BlockSci/tools/parser/address_writer.cpp:35


Does this occur when you parse completely from scratch (i.e. with a fresh data directory)? Did you, by chance, cancel the parse at some point and then try to resume? From what I understand from the backtrace for some reason the parser thinks it has seen the script wrapped in a P2SH input before (though it shouldn't have) and tries to update it rather than serialize it, which leads to the error. (I can't reproduce this)

It does indeed pass that point from an empty state. I'm pretty sure my first run last time also died but might be due to filehandle limit which I've increased since then. Import is now beyond that point but hopefully it will also complete successfully