Gnucash fails to start after recent update

John Ralls jralls at ceridwen.us
Mon May 4 12:28:36 EDT 2015


> On May 4, 2015, at 1:11 AM, Robert Fewell <14ubobit at gmail.com> wrote:
> 
> 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.

Robert,

Well, it doesn’t happen on my systems, but no, it’s not the middle of a series of updates.
It would appear either that your TZ file either has an offset outside of the range 1400 - 9999 CE or is formatted differently from the ones Apple, Debian, and Fedora supply. Please attach /etc/localtime (or whatever it points to if it’s a symlink) to a reply so that I can examine it.

Please also go to frame 15 in the debugger and p *txi so that I can compare what the program found with what’s in the file.

Regards,
John Ralls


More information about the gnucash-devel mailing list