Re: Master on Windows 10

2016-04-29 Thread John Ralls

> On Apr 29, 2016, at 4:09 AM, Robert Fewell <14ubo...@gmail.com> wrote:
> 
> Hi,
> 
> After a recent install of Windows10, I tried to install the latest nightly
> build, this installs OK but fails to run with the following error...
> 
> terminate called after throwing an instance of 'std::out_of_range'
>  what():  Year 2016 isn't covered by this time zone.
> 
> I then set about building my own, this built OK but fails to start from the
> inst directory with the same error as above.
> 
> Running it from GDB, I get a back trace of...
> 
> #8  0x008c77df in libstdc++-6!.cxa_throw () from
> c:\gcdev\gnucash\inst\bin\libstdc++-6.dll
> 
> #9  0x00a6efc6 in TimeZoneProvider::get (this=0xb3957c , year=2016)
> at c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:661
> #10 0x00a6f6d8 in LDT_from_unix_local (time=1461847455) at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:106
> #11 0x00a91796 in GncDateTimeImpl::GncDateTimeImpl (this=0x733d638,
> time=1461847455)at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:136
> #12 0x00a70561 in GncDateTime::GncDateTime (this=0x64ea5c,
> time=1461847455)at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:272
> #13 0x00a6280a in gnc_localtime_r (secs=0x64eab8, time=0x64ea94)at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-date.cpp:117
> #14 0x00a635b6 in timespecCanonicalDayTime (t=...) at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-date.cpp:459
> 
> #15 0x635e799c in _wrap_timespecCanonicalDayTime (s_0=0x8690a80) at
> swig-engine.c:19965
> 
> As a test, I changed my Time Zone from 'UTC Dublin' to 'UTC+1 Amsterdam'
> and got the same output.
> 
> Changing it to 'UTC+2 Cairo', the out put is different as below...
> 
> #5  0x00f377ec in libstdc++-6!.cxa_throw () from
> c:\gcdev\gnucash\inst\bin\libstdc++-6.dll
> 
> #6  0x008d79fc in boost::throw_exception
> (e=...)at c:/gcdev/boost/include/boost/throw_exception.hpp:70
> #7  0x008dc6da in boost::CV::simple_exception_policy (unsigned short)1, (unsigned short)12,
> boost::gregorian::bad_month>::on_error () at
> c:/gcdev/boost/include/boost/date_time/constrained_value.hpp:110
> #8  0x008dc39d in
> boost::CV::constrained_value
>> ::assign (this=0x64f5e8, value=0)at
> c:/gcdev/boost/include/boost/date_time/constrained_value.hpp:69
> #9  0x008dc410 in
> boost::CV::constrained_value
>> ::constrained_value (this=0x64f5e8, value=0)at
> c:/gcdev/boost/include/boost/date_time/constrained_value.hpp:48
> #10 0x00903f2d in boost::gregorian::greg_month::greg_month (this=0x64f5e8,
> theMonth=0)at
> c:/gcdev/boost/include/boost/date_time/gregorian/greg_month.hpp:64
> #11 0x008adedc in zone_from_regtzi (regtzi=..., names=...) at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:161
> #12 0x008ae387 in TimeZoneProvider::load_windows_dynamic_tz (this=0x97957c
> , key=0x17c, names=...)at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:199
> #13 0x008aecab in TimeZoneProvider::TimeZoneProvider (this=0x97957c ,
> identifier=...)at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:283
> #14 0x008d1823 in TimeZoneProvider::TimeZoneProvider (this=0x97957c
> )at c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.hpp:51
> #15 0x008b088c in __static_initialization_and_destruction_0
> (__initialize_p=1, __priority=65535)at
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:47
> #16 0x008b0a8c in _GLOBAL__sub_I__ZNK11GncDateImpl14year_month_dayEv ()
> at c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:317
> 
> #17 0x008cc0ba in __do_global_ctors () from
> c:\gcdev\gnucash\inst\bin\libgnc-qof-1.dll
> 
> BUT if I change to 'UTC-1 Azores' or ANY other 'UTC-' Gnucash would start
> up but in GDB I was getting this error three times "warning: Invalid
> parameter passed to C runtime function."
> This is the back trace...
> 
> #8  0x00ee3022 in
> libstdc++-6!_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_
> () from c:\gcdev\gnucash\inst\bin\libstdc++-6.dll
> 
> #9  0x008fe711 in boost::date_time::date_facet char, std::ostreambuf_iterator >::do_put_tm
> (this=0x7e0e720, next=..., a_ios=..., fill_char=32 ' ', tm_value=...,
> a_format=...)at
> c:/gcdev/boost/include/boost/date_time/date_facet.hpp:346
> #10 0x008ff0f0 in
> boost::date_time::time_facet boost::date_time::time_zone_base >, char,
> std::ostreambuf_iterator >::put
> (this=0x7e0e720, next_arg=..., ios_arg=..., fill_arg=32 ' ',
> time_arg=...)at
> c:/gcdev/boost/include/boost/date_time/time_facet.hpp:428
> #11 0x008c5120 in boost::local_time::operator<<  std::char_traits > 

Master on Windows 10

2016-04-29 Thread Robert Fewell
Hi,

After a recent install of Windows10, I tried to install the latest nightly
build, this installs OK but fails to run with the following error...

terminate called after throwing an instance of 'std::out_of_range'
  what():  Year 2016 isn't covered by this time zone.

I then set about building my own, this built OK but fails to start from the
inst directory with the same error as above.

Running it from GDB, I get a back trace of...

#8  0x008c77df in libstdc++-6!.cxa_throw () from
c:\gcdev\gnucash\inst\bin\libstdc++-6.dll

#9  0x00a6efc6 in TimeZoneProvider::get (this=0xb3957c , year=2016)
at c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:661
#10 0x00a6f6d8 in LDT_from_unix_local (time=1461847455) at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:106
#11 0x00a91796 in GncDateTimeImpl::GncDateTimeImpl (this=0x733d638,
time=1461847455)at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:136
#12 0x00a70561 in GncDateTime::GncDateTime (this=0x64ea5c,
time=1461847455)at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:272
#13 0x00a6280a in gnc_localtime_r (secs=0x64eab8, time=0x64ea94)at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-date.cpp:117
#14 0x00a635b6 in timespecCanonicalDayTime (t=...) at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-date.cpp:459

#15 0x635e799c in _wrap_timespecCanonicalDayTime (s_0=0x8690a80) at
swig-engine.c:19965

As a test, I changed my Time Zone from 'UTC Dublin' to 'UTC+1 Amsterdam'
and got the same output.

Changing it to 'UTC+2 Cairo', the out put is different as below...

#5  0x00f377ec in libstdc++-6!.cxa_throw () from
c:\gcdev\gnucash\inst\bin\libstdc++-6.dll

#6  0x008d79fc in boost::throw_exception
(e=...)at c:/gcdev/boost/include/boost/throw_exception.hpp:70
#7  0x008dc6da in boost::CV::simple_exception_policy::on_error () at
c:/gcdev/boost/include/boost/date_time/constrained_value.hpp:110
#8  0x008dc39d in
boost::CV::constrained_value::assign (this=0x64f5e8, value=0)at
c:/gcdev/boost/include/boost/date_time/constrained_value.hpp:69
#9  0x008dc410 in
boost::CV::constrained_value::constrained_value (this=0x64f5e8, value=0)at
c:/gcdev/boost/include/boost/date_time/constrained_value.hpp:48
#10 0x00903f2d in boost::gregorian::greg_month::greg_month (this=0x64f5e8,
theMonth=0)at
c:/gcdev/boost/include/boost/date_time/gregorian/greg_month.hpp:64
#11 0x008adedc in zone_from_regtzi (regtzi=..., names=...) at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:161
#12 0x008ae387 in TimeZoneProvider::load_windows_dynamic_tz (this=0x97957c
, key=0x17c, names=...)at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:199
#13 0x008aecab in TimeZoneProvider::TimeZoneProvider (this=0x97957c ,
identifier=...)at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:283
#14 0x008d1823 in TimeZoneProvider::TimeZoneProvider (this=0x97957c
)at c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.hpp:51
#15 0x008b088c in __static_initialization_and_destruction_0
(__initialize_p=1, __priority=65535)at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:47
#16 0x008b0a8c in _GLOBAL__sub_I__ZNK11GncDateImpl14year_month_dayEv ()
at c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:317

#17 0x008cc0ba in __do_global_ctors () from
c:\gcdev\gnucash\inst\bin\libgnc-qof-1.dll

BUT if I change to 'UTC-1 Azores' or ANY other 'UTC-' Gnucash would start
up but in GDB I was getting this error three times "warning: Invalid
parameter passed to C runtime function."
This is the back trace...

#8  0x00ee3022 in
libstdc++-6!_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_
() from c:\gcdev\gnucash\inst\bin\libstdc++-6.dll

#9  0x008fe711 in boost::date_time::date_facet >::do_put_tm
(this=0x7e0e720, next=..., a_ios=..., fill_char=32 ' ', tm_value=...,
a_format=...)at
c:/gcdev/boost/include/boost/date_time/date_facet.hpp:346
#10 0x008ff0f0 in
boost::date_time::time_facet >, char,
std::ostreambuf_iterator >::put
(this=0x7e0e720, next_arg=..., ios_arg=..., fill_arg=32 ' ',
time_arg=...)at
c:/gcdev/boost/include/boost/date_time/time_facet.hpp:428
#11 0x008c5120 in boost::local_time::operator<<  (os=..., ldt=...)at
c:/gcdev/boost/include/boost/date_time/local_time/local_time_io.hpp:43
#12 0x008a0285 in GncDateTimeImpl::format (this=0x7e0e8e8,
format=0x91884b  "%a %b %e %H:%M:%S
%Y")at c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:233
#13 0x008a080d in GncDateTime::format (this=0x64f538,format=0x91884b
 "%a %b %e %H:%M:%S %Y")at
c:/gcdev/gnucash.git/src/libqof/qof/gnc-datetime.cpp:316
#14