After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 532405 - Win32: Guile crashes on strftime formats containing %e
Win32: Guile crashes on strftime formats containing %e
Status: VERIFIED FIXED
Product: GnuCash
Classification: Other
Component: Reports
2.2.x
Other All
: Normal critical
: ---
Assigned To: Charles Day
Andreas Köhler
: 538254 (view as bug list)
Depends on:
Blocks: backport
 
 
Reported: 2008-05-09 20:39 UTC by Eric Laberge
Modified: 2018-06-29 22:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Execution log (104.69 KB, text/plain)
2008-05-09 20:42 UTC, Eric Laberge
Details
gdb session (49.95 KB, text/plain)
2008-05-14 14:04 UTC, Eric Laberge
Details

Description Eric Laberge 2008-05-09 20:39:40 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.
Comment 1 Eric Laberge 2008-05-09 20:42:02 UTC
Created attachment 110662 [details]
Execution log

Log made with self-compiled version (same problem)
Comment 2 Eric Laberge 2008-05-09 20:44:01 UTC
This problem occurs on both my computer and a brand-new Windows install.
Comment 3 Derek Atkins 2008-05-13 21:56:11 UTC
How much RAM does your system have?
Comment 4 Eric Laberge 2008-05-13 22:06:28 UTC
Both systems have plenty of RAM, respectively 2GB and 4GB (3.5)
Comment 5 Derek Atkins 2008-05-14 12:49:27 UTC
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
Comment 6 Eric Laberge 2008-05-14 13:04:11 UTC
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.
Comment 7 Derek Atkins 2008-05-14 13:39:11 UTC
You can probably get the backtrace if you run gdb BEFORE the program crashes.
Comment 8 Eric Laberge 2008-05-14 14:00:07 UTC
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.
Comment 9 Eric Laberge 2008-05-14 14:04:10 UTC
Created attachment 110905 [details]
gdb session
Comment 10 Eric Laberge 2008-05-14 14:11:31 UTC
Could this be related?
http://permalink.gmane.org/gmane.comp.gnu.mingw.patches/548
Comment 11 Derek Atkins 2008-05-15 13:18:15 UTC
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.
Comment 12 Charles Day 2008-06-24 22:37:05 UTC
Fix committed as r17249. Requesting backport for 2.2.

On win32 platforms the default format now uses %#d instead of %e.
Comment 13 Charles Day 2008-06-24 23:54:46 UTC
Please also backport r17250 with this one to prevent build problems. Thanks.
Comment 14 Charles Day 2008-06-25 04:19:11 UTC
*** Bug 538254 has been marked as a duplicate of this bug. ***
Comment 15 Andreas Köhler 2008-07-22 22:51:09 UTC
Both commits have been applied to branches as r17374 for inclusion in GnuCash 2.2.6.
Thanks!
Comment 16 John Ralls 2018-06-29 22:04:24 UTC
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.