Gnucash 2.7.1 on Ubuntu 17.04 segfaults after file load

Catscrash catscrash at catscrash.de
Sun Nov 19 12:00:13 EST 2017


Hi,

after hijacking the Gnucash 2.7 on Windows thread (sorry about that),
here follows a proper one:

Gnucash 2.7.1 segfaults after loading my gnucash file. Compiling and
installing went just fine. After the start, it migrates my data files
and tries to open it, but crashes.

Stacktrace:

/usr/local/bin/seg_wrapper.sh: Zeile 3:  9741 Speicherzugriffsfehler 
(Speicherabzug geschrieben) "$@"
Reading symbols from gnucash...done.
[New LWP 9741]
[New LWP 9743]
[New LWP 9742]
[New LWP 9835]
[New LWP 9746]
[New LWP 9744]
[New LWP 9747]
[New LWP 9745]
[New LWP 9748]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `gnucash'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f236621a124 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::_Alloc_hider::_Alloc_hider (__a=..., __dat=<optimized out>,
this=<optimized out>) at /usr/include/c++/6/bits/basic_string.h:110
110             : allocator_type(__a), _M_p(__dat) { }
[Current thread is 1 (Thread 0x7f2366e30fc0 (LWP 9741))]
#0  0x00007f236621a124 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&)
(__a=..., __dat=<optimized out>, this=<optimized out>)
    at /usr/include/c++/6/bits/basic_string.h:110
#1  0x00007f236621a124 in std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&) (__str=..., this=0x7fffc5400e30)
    at /usr/include/c++/6/bits/basic_string.h:399
#2  0x00007f236621a124 in
KvpFrameImpl::set(std::vector<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >, KvpValueImpl*)
(this=this at entry=0x5599118cf760, path=std::vector of length 0, capacity
0, value=value at entry=0x5599118d5fb0) at kvp-frame.cpp:128
#3  0x00007f236621a7a8 in KvpFrameImpl::set(char const*, KvpValueImpl*)
(this=this at entry=0x5599118cf760, key=key at entry=0x5599118d4fe0 "/",
value=value at entry=0x5599118d5fb0) at kvp-frame.cpp:91
#4  0x00007f23633ad9e8 in dom_tree_to_kvp_frame_given(xmlNodePtr,
KvpFrame*) (node=node at entry=0x559910ea42d0,
frame=frame at entry=0x5599118cf760) at sixtp-dom-parsers.cpp:443
#5  0x00007f23633adaf9 in dom_tree_to_kvp_frame(_xmlNode*)
(node=0x559910ea42d0) at sixtp-dom-parsers.cpp:465
#6  0x00007f23633adb56 in dom_tree_to_frame_kvp_value(xmlNodePtr)
(node=<optimized out>) at sixtp-dom-parsers.cpp:339
#7  0x00007f23633ad2fe in dom_tree_to_kvp_value(xmlNodePtr)
(node=node at entry=0x559910ea42d0) at sixtp-dom-parsers.cpp:391
#8  0x00007f23633ad9c0 in dom_tree_to_kvp_frame_given(xmlNodePtr,
KvpFrame*) (node=<optimized out>, frame=0x5599118c7cb0) at
sixtp-dom-parsers.cpp:429
#9  0x00007f23633ae41a in gnc_xml_set_data (handlers=0x7f23635c7aa0
<account_handlers_v2+192>, item=0x7fffc5401110, node=0x559910d17240,
tag=0x559910e26370 "act:slots") at sixtp-dom-parsers.cpp:850
#10 0x00007f23633ae41a in dom_tree_generic_parse(_xmlNode*,
dom_tree_handler*, void*) (node=node at entry=0x559910e54680,
handlers=handlers at entry=0x7f23635c79e0 <account_handlers_v2>,
data=data at entry=0x7fffc5401110) at sixtp-dom-parsers.cpp:881
#11 0x00007f236339288c in dom_tree_to_account(_xmlNode*, _QofBook*)
(node=node at entry=0x559910e54680, book=book at entry=0x55990eae3060) at
gnc-account-xml-v2.cpp:540
#12 0x00007f236339292e in gnc_account_end_handler(gpointer, GSList*,
GSList*, gpointer, gpointer, gpointer*, gchar const*)
(data_for_children=0x559910e54680, data_from_children=<optimized out>,
sibling_data=<optimized out>, parent_data=<optimized out>,
global_data=0x7fffc5401410, result=<optimized out>, tag=0x559910e2efe0
"gnc:account") at gnc-account-xml-v2.cpp:491
#13 0x00007f23633b061c in sixtp_sax_end_handler(void*, unsigned char
const*) (user_data=0x559910d0b520, name=0x559910d0ca63 "gnc:account") at
sixtp.cpp:539
#14 0x00007f236132f865 in  () at /usr/lib/x86_64-linux-gnu/libxml2.so.2
#15 0x00007f23613360ab in xmlParseElement () at
/usr/lib/x86_64-linux-gnu/libxml2.so.2
#16 0x00007f2361335352 in xmlParseContent () at
/usr/lib/x86_64-linux-gnu/libxml2.so.2
#17 0x00007f2361335ca3 in xmlParseElement () at
/usr/lib/x86_64-linux-gnu/libxml2.so.2
#18 0x00007f2361335352 in xmlParseContent () at
/usr/lib/x86_64-linux-gnu/libxml2.so.2
#19 0x00007f2361335ca3 in xmlParseElement () at
/usr/lib/x86_64-linux-gnu/libxml2.so.2
#20 0x00007f236133662b in xmlParseDocument () at
/usr/lib/x86_64-linux-gnu/libxml2.so.2
#21 0x00007f23633b090d in sixtp_parse_file_common(sixtp*,
xmlParserCtxtPtr, gpointer, gpointer, gpointer*)
(sixtp=sixtp at entry=0x559910d03bf0, xml_context=0x559910d09e20,
data_for_top_level=data_for_top_level at entry=0x0,
global_data=global_data at entry=0x7fffc5401410,
parse_result=parse_result at entry=0x7fffc5401408) at sixtp.cpp:717
#22 0x00007f23633b0a4c in sixtp_parse_fd(sixtp*, _IO_FILE*, void*,
void*, void**) (sixtp=sixtp at entry=0x559910d03bf0,
fd=fd at entry=0x559910d07580,
data_for_top_level=data_for_top_level at entry=0x0,
global_data=global_data at entry=0x7fffc5401410,
parse_result=parse_result at entry=0x7fffc5401408) at sixtp.cpp:793
#23 0x00007f23633a407d in gnc_xml_parse_fd(sixtp*, _IO_FILE*, int
(*)(char const*, void*, void*), void*, void*)
(top_parser=top_parser at entry=0x559910d03bf0, fd=fd at entry=0x559910d07580,
callback=callback at entry=0x7f23633a9a20 <generic_callback(char const*,
gpointer, gpointer)>, parsedata=parsedata at entry=0x559910d038e0,
bookdata=bookdata at entry=0x55990eae3060) at io-gncxml-gen.cpp:60
#24 0x00007f23633a94f4 in
qof_session_load_from_xml_file_v2_full(GncXmlBackend*, QofBook*,
sixtp_push_handler, gpointer, QofBookFileType)
(xml_be=xml_be at entry=0x55990ead9500, book=book at entry=0x55990eae3060,
push_handler=push_handler at entry=0x0,
push_user_data=push_user_data at entry=0x0,
type=type at entry=GNC_BOOK_XML2_FILE) at io-gncxml-v2.cpp:809
#25 0x00007f23633a9a9c in
qof_session_load_from_xml_file_v2(GncXmlBackend*, _QofBook*,
QofBookFileType) (xml_be=xml_be at entry=0x55990ead9500,
book=book at entry=0x55990eae3060, type=type at entry=GNC_BOOK_XML2_FILE) at
io-gncxml-v2.cpp:871
---Type <return> to continue, or q <return> to quit---
#26 0x00007f23633a0160 in GncXmlBackend::load(_QofBook*,
QofBackendLoadType) (this=0x55990ead9500, book=0x55990eae3060,
loadType=<optimized out>) at gnc-xml-backend.cpp:252
#27 0x00007f236624d754 in QofSessionImpl::load(void (*)(char const*,
double)) (this=0x5599106916d0, percentage_func=<optimized out>) at
qofsession.cpp:231
#28 0x00007f2366783ce1 in gnc_post_file_open (filename=<optimized out>,
is_readonly=0) at gnc-file.c:886
#29 0x000055990ceac5b2 in inner_main (closure=<optimized out>,
argc=<optimized out>, argv=<optimized out>) at gnucash-bin.c:649
#30 0x00007f23659805a3 in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#31 0x00007f236594c2ac in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#32 0x00007f23659fc606 in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#33 0x00007f23659ce470 in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#34 0x00007f2365a06cc3 in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#35 0x00007f2365a276d8 in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#36 0x00007f2365956d7b in scm_call_4 () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#37 0x00007f23659fc45c in scm_catch_with_pre_unwind_handler () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#38 0x00007f23659fc6de in scm_c_catch () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#39 0x00007f236594c0fb in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#40 0x00007f236594c3c4 in scm_c_with_continuation_barrier () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#41 0x00007f23659f93ba in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#42 0x00007f23605c3c42 in GC_call_with_stack_base () at
/usr/lib/x86_64-linux-gnu/libgc.so.1
#43 0x00007f23659f94a3 in  () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#44 0x00007f23659f94e3 in scm_with_guile () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#45 0x00007f2365980534 in scm_boot_guile () at
/usr/lib/x86_64-linux-gnu/libguile-2.0.so.22
#46 0x000055990ceac080 in main (argc=<optimized out>, argv=<optimized
out>) at gnucash-bin.c:820
seg_wrapper.sh gnucash  7,46s user 0,23s system 59% cpu 12,925 total



More information about the gnucash-user mailing list