Gnucash fails to start after recent update

Alex Aycinena alex.aycinena at gmail.com
Mon May 4 17:45:53 EDT 2015


> ---------- 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.

Regards,

Alex


More information about the gnucash-devel mailing list