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