On Thu, Dec 15, 2005 at 09:47:35AM -0500, Ryan Daly wrote: > Dan Espen said: > > > Post a backtrace: > > > > gdb `FvwmForm` core.5481 > > then type 'where', > > then 'quit' > > Here you go (you just wanted the "where" output, correct?): > > (gdb) where > #0 0x435cf410 in _int_malloc () from /lib/tls/libc.so.6 > #1 0x435d0f81 in malloc () from /lib/tls/libc.so.6 > #2 0x08061241 in safemalloc (length=1130971124) at safemalloc.c:44 > #3 0x0805ceb0 in CombineChars (str_visual=0x80b6830 "Cancel", len=6, > comb_chars=0xbfbd187c, l_to_v=0x0) at CombineChars.c:2074
The line of code that fails is this:
safemalloc((comp_str_len + 1) * sizeof(superimpose_char_t));
With (comp_str_len + 1) * sizeof(...) = 1130971124 which is *way*
too big for a 6 character string ("Cancel").
Can you somehow debug this by putting fprints in the CombineChars
function that shows details about all the calculations with the
str_len and comp_str_len variables?
> #4 0x08052077 in FlocaleEncodeString (dpy=0x807e6a8, flf=0x809ed28,
> str=0x80833e8 "Cancel", do_free=0xbfbd1874, len=6, nl=0xbfbd1878,
> is_rtl=0x0,
> comb_chars=0xbfbd187c, l_to_v=0x0) at Flocale.c:455
> #5 0x08052271 in FlocaleEncodeWinString (dpy=0x807e6a8, flf=0x809ed28,
> fws=0x809ed80,
> do_free=0xbfbd1874, len=0xbfbd1878, comb_chars=0xbfbd187c, l_to_v=0x0)
> at Flocale.c:562
> #6 0x080540e7 in FlocaleDrawString (dpy=0x807e6a8, flf=0x809ed28,
> fws=0x809ed80, flags=Variable "flags" is not available.
> )
> at Flocale.c:1833
> #7 0x0804e122 in RedrawItem (item=0x80b5f00, click=0, pev=0x8075ce0) at
> FvwmForm.c:1921
> #8 0x08050b69 in ReadXServer () at ReadXServer.c:440
> #9 0x0804faa0 in main (argc=7, argv=0xbfbd2044) at FvwmForm.c:2501
> #10 0x43581e23 in __libc_start_main () from /lib/tls/libc.so.6
> #11 0x0804bc05 in _start ()
> (gdb) quit
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt, [EMAIL PROTECTED]
signature.asc
Description: Digital signature
