Steps to reproduce: 1) Open a GnuCash file 2) Open an account view table 3) Click in the last (new empty) row in date column 4) Paste value "47002040592" from clipboard 5) Enjoy the crash ;) Anyway, I like GnuCash and it works well except for occasional glitches like this one. You are doing a great job.
Mrmph. An uncaught exception in gnc_mktime: * frame #0: 0x00007fff2037492e libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff203a35bd libsystem_pthread.dylib`pthread_kill + 263 frame #2: 0x00007fff202f8411 libsystem_c.dylib`abort + 120 frame #3: 0x00007fff20366ef2 libc++abi.dylib`abort_message + 241 frame #4: 0x00007fff203585e5 libc++abi.dylib`demangling_terminate_handler() + 242 frame #5: 0x00007fff20251595 libobjc.A.dylib`_objc_terminate() + 104 frame #6: 0x00007fff20366307 libc++abi.dylib`std::__terminate(void (*)()) + 8 frame #7: 0x00007fff20368beb libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27 frame #8: 0x00007fff20368bb2 libc++abi.dylib`__cxa_throw + 116 frame #9: 0x000000010287854e libgnc-engine.dylib`void boost::throw_exception<boost::gregorian::bad_year>(e=0x00007ffeefbfa638) at throw_exception.hpp:165:5 frame #10: 0x00000001028784cc libgnc-engine.dylib`boost::CV::simple_exception_policy<unsigned short, (unsigned short)1400, (unsigned short)9999, boost::gregorian::bad_year>::on_error((null)=1400, (null)=58712, (null)=max_violation) at constrained_value.hpp:118:7 frame #11: 0x0000000102878474 libgnc-engine.dylib`boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, (unsigned short)1400, (unsigned short)9999, boost::gregorian::bad_year> >::assign(this=0x00007ffeefbfa718, value=58712) at constrained_value.hpp:77:9 frame #12: 0x00000001028783d0 libgnc-engine.dylib`boost::CV::constrained_value<boost::CV::simple_exception_policy<unsigned short, (unsigned short)1400, (unsigned short)9999, boost::gregorian::bad_year> >::constrained_value(this=0x00007ffeefbfa718, value=58712) at constrained_value.hpp:48:7 frame #13: 0x0000000102878390 libgnc-engine.dylib`boost::gregorian::greg_year::greg_year(this=0x00007ffeefbfa718, year=58712) at greg_year.hpp:42:56 frame #14: 0x00000001028725cd libgnc-engine.dylib`boost::gregorian::greg_year::greg_year(this=0x00007ffeefbfa718, year=58712) at greg_year.hpp:42:76 frame #15: 0x00000001028a47b5 libgnc-engine.dylib`boost::gregorian::date_from_tm(datetm=0x00007ffeefbfa7e0) at conversion.hpp:61:17 frame #16: 0x00000001028a46aa libgnc-engine.dylib`LDT_from_struct_tm(tm=const tm @ 0x00007ffeefbfa7e0) at gnc-datetime.cpp:258:16 frame #17: 0x00000001028a4672 libgnc-engine.dylib`GncDateTimeImpl::GncDateTimeImpl(this=0x0000000115094000, tm=const tm @ 0x00007ffeefbfa870) at gnc-datetime.cpp:282:50 frame #18: 0x0000000102876e52 libgnc-engine.dylib`GncDateTimeImpl::GncDateTimeImpl(this=0x0000000115094000, tm=const tm @ 0x00007ffeefbfa8c0) at gnc-datetime.cpp:282:74 frame #19: 0x0000000102876dc7 libgnc-engine.dylib`GncDateTime::GncDateTime(this=0x00007ffeefbfaa88, tm=const tm @ 0x00007ffeefbfa980) at gnc-datetime.cpp:634:16 frame #20: 0x0000000102876eb2 libgnc-engine.dylib`GncDateTime::GncDateTime(this=0x00007ffeefbfaa88, tm=const tm @ 0x00007ffeefbfa9d0) at gnc-datetime.cpp:634:37 frame #21: 0x000000010286dbbb libgnc-engine.dylib`::gnc_mktime(time=0x0000000123b9b6d8) at gnc-date.cpp:235:21 frame #22: 0x0000000100e6763b libgnc-register-gnome.dylib`gnc_parse_date(parsed=0x0000000123b9b6d8, datestr="47002040592", warn=0) at datecell-gnome.c:185:9 frame #23: 0x0000000100e67ae2 libgnc-register-gnome.dylib`gnc_date_cell_modify_verify(_cell=0x0000000123befad0, change="47002040592", change_len=11, newval="47002040592", newval_len=11, cursor_position=0x00007ffeefbfb31c, start_selection=0x00007ffeefbfad54, end_selection=0x00007ffeefbfad50) at datecell-gnome.c:599:9
Fixed in git, will be in GnuCash 4.6. Thanks for the report.