yes, one can only conclude that you are using global variables for data that changes over time. -r
On Fri, Apr 8, 2011 at 8:00 PM, Igor Korot <[email protected]> wrote: > Hi, David, > > 2011/4/8 David Nečas <[email protected]>: > > On Fri, Apr 08, 2011 at 10:30:32AM -0700, Igor Korot wrote: > >> $ ./<program_name> G_DEBUG=fatal-warnings > >> > >> Right? > > > > No, > > > > G_DEBUG=fatal-warnings ./program > > > > It's an environment variable: > > > > http://developer.gnome.org/glib/stable/glib-running.html > > I just tried to run it. Here are the results: > > IgorsGentooOnNetwork src # G_DEBUG=fatal-warnings gdb mini2440gtk > GNU gdb 6.8 > Copyright (C) 2008 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later < > http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu"... > (gdb) break main_window.cc:282 > Breakpoint 1 at 0x80496d4: file > /home/igor/mini2440gtk/mini2440gtk/src/main_window.cc, line 282. > (gdb) run > Starting program: /home/igor/mini2440gtk/mini2440gtk/debug/src/mini2440gtk > [Thread debugging using libthread_db enabled] > [New Thread 0xb7106b40 (LWP 22539)] > Header is: 0 0 > Header is: 27 91 > > GLib-GObject-WARNING **: invalid cast from `(null)' to `GObject' > aborting... > > Program received signal SIGABRT, Aborted. > [Switching to Thread 0xb7106b40 (LWP 22539)] > 0xb805c424 in __kernel_vsyscall () > (gdb) bt > #0 0xb805c424 in __kernel_vsyscall () > #1 0xb7169660 in raise () from /lib/libc.so.6 > #2 0xb716ae98 in abort () from /lib/libc.so.6 > #3 0xb73d4a31 in g_logv () from /usr/lib/libglib-2.0.so.0 > #4 0xb73d4ace in g_log () from /usr/lib/libglib-2.0.so.0 > #5 0xb7477896 in g_type_check_instance_cast () from > /usr/lib/libgobject-2.0.so.0 > #6 0xb7a14e9c in gtk_label_set_markup () from /usr/lib/libgtk-x11-2.0.so.0 > #7 0x080496d4 in CFrame::UpdateData (this=0x8f48450) at > /home/igor/mini2440gtk/mini2440gtk/src/main_window.cc:281 > #8 0x08049813 in CFrame::ReadData (me=0x8f48450) at > /home/igor/mini2440gtk/mini2440gtk/src/main_window.cc:256 > #9 0xb73cdad2 in ?? () from /usr/lib/libglib-2.0.so.0 > #10 0x08f48450 in ?? () > #11 0xb7452534 in ?? () from /usr/lib/libglib-2.0.so.0 > #12 0xbfde3dd8 in ?? () > #13 0xb73cda9f in ?? () from /usr/lib/libglib-2.0.so.0 > #14 0xb7856f00 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 > #15 0x08f1b008 in ?? () > #16 0xbfde3e08 in ?? () > #17 0xb73ccb5c in ?? () from /usr/lib/libglib-2.0.so.0 > #18 0xb7452534 in ?? () from /usr/lib/libglib-2.0.so.0 > #19 0x08f22098 in ?? () > #20 0xbfde3df8 in ?? () > #21 0xb7451ff4 in ?? () from /usr/lib/libglib-2.0.so.0 > #22 0xbfde3e3c in ?? () > #23 0x08f4fc00 in ?? () > #24 0xbfde3e58 in ?? () > #25 0xb73cd1b9 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > Running the program without G_DEBUG gives: > > IgorsGentooOnNetwork src # gdb mini2440gtk > GNU gdb 6.8 > Copyright (C) 2008 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later < > http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu"... > (gdb) break main_window.cc:282 > Breakpoint 1 at 0x80496d4: file > /home/igor/mini2440gtk/mini2440gtk/src/main_window.cc, line 282. > (gdb) run > Starting program: /home/igor/mini2440gtk/mini2440gtk/debug/src/mini2440gtk > [Thread debugging using libthread_db enabled] > [New Thread 0xb70d6b40 (LWP 22570)] > Header is: 0 0 > Header is: 27 91 > > (mini2440gtk:22570): GLib-GObject-WARNING **: invalid cast from > `(null)' to `GObject' > > (mini2440gtk:22570): GLib-GObject-CRITICAL **: g_object_freeze_notify: > assertion `G_IS_OBJECT (object)' failed > > (mini2440gtk:22570): GLib-GObject-WARNING **: invalid cast from > `(null)' to `GObject' > > (mini2440gtk:22570): GLib-GObject-CRITICAL **: g_object_notify: > assertion `G_IS_OBJECT (object)' failed > > (mini2440gtk:22570): GLib-GObject-WARNING **: invalid cast from > `(null)' to `GtkWidget' > > (mini2440gtk:22570): Gtk-CRITICAL **: gtk_widget_queue_resize: > assertion `GTK_IS_WIDGET (widget)' failed > > (mini2440gtk:22570): GLib-GObject-WARNING **: invalid cast from > `(null)' to `GObject' > > (mini2440gtk:22570): GLib-GObject-CRITICAL **: g_object_thaw_notify: > assertion `G_IS_OBJECT (object)' failed > [Switching to Thread 0xb70d6b40 (LWP 22570)] > > Breakpoint 1, CFrame::UpdateData (this=0x94e1450) at > /home/igor/mini2440gtk/mini2440gtk/src/main_window.cc:282 > 282 gtk_label_set_markup( GTK_LABEL( data2 ), m_data2->str ); > (gdb) print data1 > $1 = (GtkWidget *) 0x94e80b0 > (gdb) print m_data1->str > $2 = (gchar *) 0x94dfee0 "<b><span foreground=\"black\"><span > font=\"Sans Serif\"><span font='48'>14.00</span></span>V</span></b>" > > And here is the code for offending function: > > void CFrame::UpdateData() > { > ConvertTotalPack(); > ConvertMinimalVoltage(); > ConvertMaximumVoltage(); > SetColoring(); > gtk_label_set_markup( GTK_LABEL( data1 ), m_data1->str ); > gtk_label_set_markup( GTK_LABEL( data2 ), m_data2->str ); > gtk_label_set_markup( GTK_LABEL( data3 ), m_data3->str ); > gtk_label_set_markup( GTK_LABEL( data4 ), m_data4->str ); > } > > Do you see anything wrong with it? > > Thank you. > > > > > Yeti > > > > > _______________________________________________ > gtk-list mailing list > [email protected] > http://mail.gnome.org/mailman/listinfo/gtk-list >
_______________________________________________ gtk-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtk-list
