Gnucash fails to start after recent update

John Ralls jralls at ceridwen.us
Mon May 4 18:48:07 EDT 2015


> On May 4, 2015, at 2:45 PM, Alex Aycinena <alex.aycinena at gmail.com> wrote:
> 
>> ---------- Forwarded message ----------
>> From: Robert Fewell <14ubobit at gmail.com>
>> To: "gnucash-devel at gnucash.org" <gnucash-devel at gnucash.org>
>> Cc:
>> Date: Mon, 4 May 2015 09:11:56 +0100
>> Subject: Gnucash fails to start after recent update
>> Hi guy's,
>> 
>> I have just updated my git tree to the latest updates and was able to
>> compile the recent changes but the program will not run, it stops at
>> startup with a date exception with the following in gdb...
>> 
>> 
>> GNU gdb (Gentoo 7.6.2 p1) 7.6.2
>> Copyright (C) 2013 Free Software Foundation, Inc.
>> License GPLv3+: GNU GPL version 3 or later <
>> http://gnu.org/licenses/gpl.html
>>> 
>> This is free software: you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
>> and "show warranty" for details.
>> This GDB was configured as "x86_64-pc-linux-gnu".
>> For bug reporting instructions, please see:
>> <http://bugs.gentoo.org/>.
>> (gdb) file gnucash
>> Reading symbols from /usr/bin/gnucash...done.
>> (gdb) run --g-fatal-warnings
>> Starting program: /usr/bin/gnucash --g-fatal-warnings
>> warning: Could not load shared library symbols for linux-vdso.so.1.
>> Do you need "set solib-search-path" or "set sysroot"?
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib64/libthread_db.so.1".
>> terminate called after throwing an instance of
>> 
>> 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::gregorian::bad_year>
>>> '
>>  what():  Year is out of valid range: 1400..10000
>> 
>> Program received signal SIGABRT, Aborted.
>> 0x00007ffff5a3b795 in __GI_raise (sig=sig at entry=6) at
>> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
>> 56    ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
>> (gdb) bt
>> #0  0x00007ffff5a3b795 in __GI_raise (sig=sig at entry=6) at
>> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
>> #1  0x00007ffff5a3cc18 in __GI_abort () at abort.c:89
>> #2  0x00007fffed59b7fd in __gnu_cxx::__verbose_terminate_handler() () from
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so.6
>> #3  0x00007fffed599876 in __cxxabiv1::__terminate(void (*)()) () from
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so.6
>> #4  0x00007fffed5998a3 in std::terminate() () from
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so.6
>> #5  0x00007fffed599ab1 in __cxa_throw () from
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/libstdc++.so.6
>> #6  0x00007ffff6c5d040 in
>> boost::throw_exception<boost::gregorian::bad_year> (e=...) at
>> /usr/include/boost/throw_exception.hpp:70
>> #7  0x00007ffff6c5776c in boost::CV::simple_exception_policy<unsigned
>> short, (unsigned short)1400, (unsigned short)10000,
>> boost::gregorian::bad_year>::on_error () at
>> /usr/include/boost/date_time/constrained_value.hpp:110
>> #8  0x00007ffff6c5d3c5 in assign (value=<optimized out>, this=<synthetic
>> pointer>)
>>    at /usr/include/boost/date_time/constrained_value.hpp:69
>> #9  constrained_value (value=<optimized out>, this=<synthetic pointer>) at
>> /usr/include/boost/date_time/constrained_value.hpp:48
>> #10 greg_year (year=<optimized out>, this=<synthetic pointer>) at
>> /usr/include/boost/date_time/gregorian/greg_year.hpp:41
>> #11
>> 
>> boost::date_time::gregorian_calendar_base<boost::date_time::year_month_day_base<boost::gregorian::greg_year,
>> boost::gregorian::greg_month, boost::gregorian::greg_day>, unsigned
>> int>::from_day_number (dayNumber=<optimized out>)
>>    at /usr/include/boost/date_time/gregorian_calendar.ipp:122
>> #12 0x00007ffff6c5871f in date (this=0x7fffffffdb70) at
>> /usr/include/boost/date_time/time_system_counted.hpp:59
>> #13 get_date (val=...) at
>> /usr/include/boost/date_time/time_system_counted.hpp:170
>> #14 date (this=0x7fffffffdb70) at /usr/include/boost/date_time/time.hpp:72
>> #15 TimeZoneProvider::TimeZoneProvider (this=0x7ffff6ec1590 <tzp>,
>> tzname=...) at gnc-timezone.cpp:565
>> #16 0x00007ffff6c4ef69 in TimeZoneProvider (this=0x7ffff6ec1590 <tzp>) at
>> gnc-timezone.hpp:51
>> #17 __static_initialization_and_destruction_0 (__initialize_p=1,
>> __priority=65535) at gnc-datetime.cpp:43
>> #18 _GLOBAL__sub_I_gnc_datetime.cpp(void) () at gnc-datetime.cpp:284
>> ---Type <return> to continue, or q <return> to quit---
>> #19 0x00007ffff7deab6e in call_init (l=<optimized out>, argc=argc at entry=2,
>> argv=argv at entry=0x7fffffffdf88,
>>    env=env at entry=0x7fffffffdfa0) at dl-init.c:78
>> #20 0x00007ffff7deac4b in call_init (env=0x7fffffffdfa0,
>> argv=0x7fffffffdf88, argc=2, l=<optimized out>) at dl-init.c:36
>> #21 _dl_init (main_map=0x7ffff7ffe128, argc=2, argv=0x7fffffffdf88,
>> env=0x7fffffffdfa0) at dl-init.c:126
>> #22 0x00007ffff7ddd42a in _dl_start_user () from
>> /lib64/ld-linux-x86-64.so.2
>> #23 0x0000000000000002 in ?? ()
>> #24 0x00007fffffffe299 in ?? ()
>> #25 0x00007fffffffe2aa in ?? ()
>> #26 0x0000000000000000 in ?? ()
>> 
>> 
>> Not sure if this is just my system or maybe I have updated in the middle of
>> a series of updates.
>> 
>> Regards,
>>   Bob
>> 
>> 
> Bob,
> 
> I believe it was John's recent commit related to boost-date. On my Fedora
> 21 system, make doesn't work with a similar message:
> 
> /usr/bin/guild compile -o unittest-support.go
> /home/gnucash-dev/gitcheckouts/gnucash-clean/src/test-core/unittest-support.scm
> terminate called after throwing an instance of
> 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::gregorian::bad_year>
>> '
>  what():  Year is out of valid range: 1400..10000
> Makefile:1093: recipe for target 'unittest-support.go' failed
> make[3]: *** [unittest-support.go] Aborted (core dumped)
> make[3]: Leaving directory
> '/home/gnucash-dev/gitcheckouts/gnucash-clean-build/src/test-core'
> Makefile:565: recipe for target 'all-recursive' failed
> make[2]: *** [all-recursive] Error 1
> 
> On my Fedora 20 system, make worked but make check failed. I will send a
> separate e-mail with that error. When I make install on that system and
> then try to start gnucash, it works.

Alex,

Good hint, thanks. I tried on my F21 VM and it wouldn’t build at all: It crashed in guild. Odd, since it doesn’t throw on Debian Jessie with (apparently) the same zone file and boost version. I’m testing a fix now, if all goes well I’ll push shortly.

Regards,
John Ralls




More information about the gnucash-devel mailing list