Re: Program Crashes when Removing a Page



On Fri, Oct 30, 2009 at 06:09:16AM -0400, dhk wrote:
I have a notebook that crashes the program when
gtk_notebook_remove_page(GTK_NOTEBOOK(nb), page_num) is called.  Each
page of the notebook has a lot of stuff on it and the crash always
happens on the same page.  The source of gtk_notebook_remove_page()
looks like it recursively traverses the page and removes everything.  My
suspicion is that there is something on my page that causes the crash,
but I don't see what it could be.  The following error message is what I
get when gtk_notebook_remove_page() is called.
1285    if(page_num>0) {
(gdb)
1286      gtk_notebook_remove_page(GTK_NOTEBOOK(nb), page_num);
(gdb)

Program received signal SIGSEGV, Segmentation fault.
0x00007fffd8340790 in ?? ()

How can I find out what's causing the crash?

Run it under valgrind with G_SLICE=always-malloc
http://library.gnome.org/devel/glib/stable/glib-running.html
It will probably tell you that nb points to already-freed memory and
where it was freed.  If it's so you need to figure out who does not own
a reference while he should, see also
http://library.gnome.org/devel/gobject/stable/tools-refdb.html
that may help.  Or valgrind will tell you that nb is complete rubbish
and why...

Yeti




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