Bug 42 - Memory corruption happening somewhere
Summary: Memory corruption happening somewhere
Alias: None
Product: Asunder
Classification: Unclassified
Component: All (show other bugs)
Version: 2.8.1
Hardware: PC Linux
: enhancement
Assignee: Andrew Smith
Depends on:
Reported: 2017-04-07 00:04 EDT by Andrew Smith
Modified: 2017-04-10 09:52 EDT (History)
2 users (show)

See Also:


Description Andrew Smith 2017-04-07 00:04:35 EDT
As I was getting ready to release 2.9 I got this:

$ make && ./src/asunder 
make  all-recursive
make[1]: Entering directory '/home/andrew/data/prog/asunder'
Making all in src
make[2]: Entering directory '/home/andrew/data/prog/asunder/src'
gcc -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include    -g -O2 -Wall -pedantic -std=gnu99 -Wundef -Wcast-align -W -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-deprecated-declarations -Wno-overlength-strings -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
mv -f .deps/main.Tpo .deps/main.Po
gcc  -g -O2 -Wall -pedantic -std=gnu99 -Wundef -Wcast-align -W -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-deprecated-declarations -Wno-overlength-strings   -o asunder main.o support.o interface.o callbacks.o prefs.o threads.o util.o wrappers.o completion.o -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0 -lcddb  
make[2]: Leaving directory '/home/andrew/data/prog/asunder/src'
Making all in po
make[2]: Entering directory '/home/andrew/data/prog/asunder/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/andrew/data/prog/asunder/po'
make[2]: Entering directory '/home/andrew/data/prog/asunder'
make[2]: Leaving directory '/home/andrew/data/prog/asunder'
make[1]: Leaving directory '/home/andrew/data/prog/asunder'

** (asunder:3531): WARNING **: Couldn't find pixmap file: asunder.png
Error: Couldn't open /dev/cdrom
Error: Couldn't open /dev/cdrom
Error: Couldn't open freedb.freedb.org

(asunder:3531): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkLabel'

(asunder:3531): Gtk-CRITICAL **: IA__gtk_label_set_markup: assertion 'GTK_IS_LABEL (label)' failed

The "Error: Couldn't open freedb.freedb.org" happened roughly after I ejected the CD (ukulele 99-track test), possibly after I reinserted it.

The gtk errors (I've never seen before) happened when I closed Asunder.

I think also before this happened I went into the preferences and enabled all the encoders that were installed on my system.

Looks like something corrupted memory somewhere. I looked through all the changes since 2.8.1 and couldn't find any obvious problems so I'm going to release it with this bug and hope it will either not happen in the field (haha) or it will be easier to reproduce (not funny, really).

This happened roughly with r381
Comment 1 Gregory Margo 2017-04-07 16:51:33 EDT
I saw those same glib/gtk warnings just today, on the latest code.
I had only done a cddb lookup, and then quit.
Tried multiple times to duplicate it, but could not.

(asunder:3968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkLabel'

(asunder:3968): Gtk-CRITICAL **: IA__gtk_label_set_text: assertion 'GTK_IS_LABEL (label)' failed
Comment 2 Gregory Margo 2017-04-10 09:52:44 EDT
Finally got the "unclassed pointer" error to happen under the debugger, after ripping maybe 20 CDs since I last saw it.
But could extract any useful information since the threads all exit.
This happened after only one lookup/rip/quit.

(gdb) run --g-fatal-warnings
Starting program: .../src/asunder --g-fatal-warnings
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
** Message: Couldn't find pixmap file: asunder.png
[New Thread 0x7fffefb03700 (LWP 31766)]
[New Thread 0x7fffef302700 (LWP 31767)]
[New Thread 0x7fffee412700 (LWP 31768)]
[New Thread 0x7fffedbb1700 (LWP 31769)]
[Thread 0x7fffee412700 (LWP 31768) exited]
[New Thread 0x7fffee412700 (LWP 31831)]
[New Thread 0x7fffeccb9700 (LWP 31832)]
[New Thread 0x7fffdffff700 (LWP 31833)]
[Thread 0x7fffee412700 (LWP 31831) exited]
[Thread 0x7fffdffff700 (LWP 31833) exited]
[Thread 0x7fffeccb9700 (LWP 31832) exited]

(asunder:31760): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkLabel'
Cannot find user-level thread for LWP 31769: generic error
(gdb) [Thread 0x7fffedbb1700 (LWP 31769) exited]
[Thread 0x7fffef302700 (LWP 31767) exited]
[Thread 0x7fffefb03700 (LWP 31766) exited]

Note You need to log in before you can comment on or make changes to this bug.