GNOME Bugzilla – Bug 532405
Win32: Guile crashes on strftime formats containing %e
Last modified: 2018-06-29 22:04:24 UTC
Steps to reproduce: 1. Create new account chart 2. Add a client and make him an invoice 3. Generate a receivable ageing report 4. Click on the amount 5. A report error message appears, click refresh 6. Crash Stack trace: Other information: Happens on Windows Vista with French configuration, untested on other platforms.
Created attachment 110662 [details] Execution log Log made with self-compiled version (same problem)
This problem occurs on both my computer and a brand-new Windows install.
How much RAM does your system have?
Both systems have plenty of RAM, respectively 2GB and 4GB (3.5)
It's possible that the memory allocation error is due to the fact that Windows doesn't support %e. Change that report option to %#d and try again? Can you get a gdb backtrace? http://wiki.gnucash.org/wiki/Windows#Debugging_with_gdb
Changing %e to %d does the trick :-) As for a backtrace, I tried to make one but it is more like a freeze + program exiting by itself than an actual "crash", so I didn't manage to get something useful.
You can probably get the backtrace if you run gdb BEFORE the program crashes.
Yeah, I debugged software before, but the program seems to exit "normally". For reference, I ran gdb with gnucash (debug build), typed "run", opened a budget and followed the procedure in the first post until it crashed, fell back in gdb, typed "bt" and it said there was no stack. I'll attach the debugging session.
Created attachment 110905 [details] gdb session
Could this be related? http://permalink.gmane.org/gmane.comp.gnu.mingw.patches/548
Hmm, it does end normally.. Probably guile is executing an exit(). Unfortunately no, it doesn't look related to that mingw patch in comment #10. I think the real solution of this problem is to provide an OS-specific default. I've updated the bug summary to be more correct.
Fix committed as r17249. Requesting backport for 2.2. On win32 platforms the default format now uses %#d instead of %e.
Please also backport r17250 with this one to prevent build problems. Thanks.
*** Bug 538254 has been marked as a duplicate of this bug. ***
Both commits have been applied to branches as r17374 for inclusion in GnuCash 2.2.6. Thanks!
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=532405. Please update any external references or bookmarks.