[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gerbv crashes (was Re: gEDA-user: gerbv 1.0 on RH8)



(gdb) list
842         filename = dirname(filename);
843         if (screen.path)
844             free(screen.path);
845         screen.path = (char *)malloc(strlen(filename) + 1);
846         strcpy(screen.path, filename);
847         screen.path = strncat(screen.path, "/", 1);
848
849      cb_ok_project_end:
850         if (screen.win.project) {
851             gtk_grab_remove(screen.win.project);
(gdb) print filename
$5 = 0x425f9000 "/tmp/morgan"



On Sat, 5 Feb 2005 19:18:06 -0800, primorec <geda.mail@xxxxxxxxx> wrote:
> (gdb) up
> #1  0x080543ec in cb_ok_project (widget=0x4218be10, data=0x42a0fff4)
> at gerbv.c:847
> 847         screen.path = strncat(screen.path, "/", 1);
> (gdb) print  screen.path
> $1 = 0x42a0fff4 "/tmp/morgan/"
> (gdb) print  screen
> $2 = {drawing_area = 0x41f51fcc, pixmap = 0x4964bfcc, background =
> 0x42d39ff4, si_func = GDK_COPY,
>   zoom_outline_color = 0x419ccff4, dist_measure_color = 0x419ceff4,
> unit = GERBV_MILS, win = {load_file = 0x0,
>     color_selection = 0x0, export_png = 0x0, scale = 0x0, log = 0x0,
> project = 0x425f1f50}, file = {0x42d3ffec,
>     0x42d53fec, 0x42d4dfec, 0x42d47fec, 0x42d41fec, 0x42d3bfec, 0x0
> <repeats 14 times>}, curr_index = 5,
>   path = 0x42a0fff4 "/tmp/morgan/", execpath = 0xbffffaef "/home/local/bin",
>   project = 0x42d35fe8 "/tmp/morgan/try.proj", gerber_bbox = {x1 =
> -0.068000000000000005, y1 = -0.068000000000000005,
>     x2 = 7.0099999999999998, y2 = 5.008}, tooltips = 0x41c67fd0,
> layer_button = {0x421b3fb0, 0x421b7fb0, 0x421bffb0,
>     0x421c7fb0, 0x421cffb0, 0x421d7fb0, 0x421dffb0, 0x421e7fb0,
> 0x421effb0, 0x421f7fb0, 0x421fffb0, 0x42207fb0,
>     0x4220ffb0, 0x42217fb0, 0x4221ffb0, 0x42227fb0, 0x4222ffb0,
> 0x42237fb0, 0x4223ffb0, 0x4224dfb0},
>   popup_menu = 0x41f59f90, statusbar = {msg = 0x4218df50, msgstr =
> '\0' <repeats 24 times>,
>     coordstr = '\0' <repeats 27 times>, diststr = '\0' <repeats 44
> times>}, state = NORMAL, centered_outline_zoom = 0,
>   scale = 170, selected_layer = 0, last_x = 0, last_y = 0, start_x =
> 0, start_y = 0, trans_x = 0, trans_y = -18,
>   off_x = 0, off_y = 0, clip_bbox = {x1 = 0, y1 = 0.10588235294117647,
> x2 = 7.0779999999999994,
>     y2 = 5.0759999999999996}, dump_parsed_image = 0}
> (gdb) print  path
> No symbol "path" in current context.
> (gdb)
> 
> 
> On Sat, 5 Feb 2005 18:48:26 -0800, primorec <geda.mail@xxxxxxxxx> wrote:
> > I've forgotten to print the variable before.
> >
> > Sorry :(
> >
> > Igor
> >
> >
> > (gdb) up
> > #1  0x080543ec in cb_ok_project (widget=0x4218be10, data=0x429e1ff4)
> > at gerbv.c:847
> > 847         screen.path = strncat(screen.path, "/", 1);
> > (gdb) print screen.path
> > $1 = 0x429e1ff4 "/tmp/morgan/"
> > (gdb)
> >
> >
> > On Sat, 5 Feb 2005 18:40:52 -0800, primorec <geda.mail@xxxxxxxxx> wrote:
> > > Here it is.
> > >
> > > Regards
> > >
> > > Igor
> > >
> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x403bd3de in strcat () from /lib/libc.so.6
> > > (gdb) where
> > > #0  0x403bd3de in strcat () from /lib/libc.so.6
> > > #1  0x080543ec in cb_ok_project (widget=0x4218be10, data=0x429e1ff4)
> > > at gerbv.c:847
> > > #2  0x400d74d6 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
> > > #3  0x40113fa5 in gtk_handlers_run () from /usr/lib/libgtk-1.2.so.0
> > > #4  0x40112fbb in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> > > #5  0x401104ae in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> > > #6  0x4005cd2e in gtk_button_clicked () from /usr/lib/libgtk-1.2.so.0
> > > #7  0x4005ea0b in gtk_real_button_released () from /usr/lib/libgtk-1.2.so.0
> > > #8  0x400d74d6 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
> > > #9  0x40112ece in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> > > #10 0x401104ae in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> > > #11 0x4005cc1e in gtk_button_released () from /usr/lib/libgtk-1.2.so.0
> > > #12 0x4005e0a1 in gtk_button_button_release () from /usr/lib/libgtk-1.2.so.0
> > > #13 0x400d7106 in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
> > > #14 0x40113000 in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> > > #15 0x401104ae in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> > > #16 0x40156346 in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
> > > #17 0x400d6f0f in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
> > > #18 0x400d5c54 in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
> > > #19 0x401a02d5 in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
> > > #20 0x401d597e in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
> > > #21 0x401d5e59 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
> > > #22 0x401d60f4 in g_main_run () from /usr/lib/libglib-1.2.so.0
> > > #23 0x400d56df in gtk_main () from /usr/lib/libgtk-1.2.so.0
> > > #24 0x08057f20 in main (argc=1, argv=0xbffff9e4) at gerbv.c:2792
> > > #25 0x4035f54d in __libc_start_main () from /lib/libc.so.6
> > > (gdb) up
> > > #1  0x080543ec in cb_ok_project (widget=0x4218be10, data=0x429e1ff4)
> > > at gerbv.c:847
> > > 847         screen.path = strncat(screen.path, "/", 1);
> > > (gdb) up
> > > #2  0x400d74d6 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #3  0x40113fa5 in gtk_handlers_run () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #4  0x40112fbb in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #5  0x401104ae in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #6  0x4005cd2e in gtk_button_clicked () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #7  0x4005ea0b in gtk_real_button_released () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #8  0x400d74d6 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #9  0x40112ece in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #10 0x401104ae in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #11 0x4005cc1e in gtk_button_released () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #12 0x4005e0a1 in gtk_button_button_release () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #13 0x400d7106 in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #14 0x40113000 in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #15 0x401104ae in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #16 0x40156346 in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #17 0x400d6f0f in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #18 0x400d5c54 in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #19 0x401a02d5 in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
> > > (gdb) up
> > > #20 0x401d597e in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
> > > (gdb) up
> > > #21 0x401d5e59 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
> > > (gdb) up
> > > #22 0x401d60f4 in g_main_run () from /usr/lib/libglib-1.2.so.0
> > > (gdb) up
> > > #23 0x400d56df in gtk_main () from /usr/lib/libgtk-1.2.so.0
> > > (gdb) up
> > > #24 0x08057f20 in main (argc=1, argv=0xbffff9e4) at gerbv.c:2792
> > > 2792        gtk_main();
> > > (gdb) up
> > > #25 0x4035f54d in __libc_start_main () from /lib/libc.so.6
> > > (gdb) up
> > > Initial frame selected; you cannot go up.
> > >
> > >
> > > On Sat, 5 Feb 2005 21:32:18 +0100, Mario Klebsch <mario@xxxxxxxxxx> wrote:
> > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > Hash: SHA1
> > > >
> > > > Hi!
> > > >
> > > > Am 05.02.2005 um 19:08 schrieb primorec:
> > > >
> > > > > Here is the output from ELECTRIC FENCE.
> > > > >
> > > > > I hope that this output will put more light to this problem
> > > >
> > > > It worked, fine.
> > > >
> > > > > [igor@netnarin morgan]$ setenv LD_PRELOAD /usr/lib/libefence.so
> > > > >
> > > > > [igor@netnarin morgan]$ gdb /usr/local/bin/gerbv
> > > >
> > > > This way, gdb as well as the prgram to debug both use libefence. Since
> > > > efence can slow don execution and increas memory usage dramatically,
> > > > you might prefer to only let the program to debug use efence.
> > > >
> > > > The easy way is to not run the target in the debugger but let is dump
> > > > core and use the debugger to do a post mortem core analysis. The other
> > > > option is to set the environment variable inside gdb.
> > > >
> > > > > (gdb) r
> > > > > Starting program: /home/local/bin/gerbv
> > > > >
> > > > >   Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens
> > > > > <bruce@xxxxxxxxxx>
> > > > >
> > > > > <etc etc etc>
> > > > >
> > > > > Program received signal SIGSEGV, Segmentation fault.
> > > > > 0x403bd3de in strcat () from /lib/libc.so.6
> > > > > (gdb) where
> > > > > #0  0x403bd3de in strcat () from /lib/libc.so.6
> > > > > #1  0x080543ec in cb_ok_project (widget=0x4218be10, data=0x429e1ff4)
> > > > > at gerbv.c:847
> > > >
> > > > It could have been usefull to have executed 'up', to see the call to
> > > > strcat() and then to print its arguments.
> > > >
> > > > 73, Mario
> > > > - --
> > > > Mario Klebsch                                           mario@xxxxxxxxxx
> > > > PGP-Key available at http://www.klebsch.de/public.key
> > > > Fingerprint DSS: EE7C DBCC D9C8 5DC1 D4DB  1483 30CE 9FB2 A047 9CE0
> > > >   Diffie-Hellman: D447 4ED6 8A10 2C65 C5E5  8B98 9464 53FF 9382 F518
> > > > -----BEGIN PGP SIGNATURE-----
> > > > Version: GnuPG v1.2.4 (Darwin)
> > > >
> > > > iD8DBQFCBS1YMM6fsqBHnOARAhR1AJsFugdgz6mGvHaPd0NJ47i3j7p0nQCcCjXb
> > > > GysZD+5puq1Bo3sSv1VqFnY=
> > > > =4b8w
> > > > -----END PGP SIGNATURE-----
> > > >
> > > >
> > >
> >
>