[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
segfault cleaning up graphics objects
From: |
John W. Eaton |
Subject: |
segfault cleaning up graphics objects |
Date: |
Thu, 8 Dec 2011 19:45:11 -0500 |
On 8-Dec-2011, Ben Abbott wrote:
| On Dec 8, 2011, at 5:25 PM, John W. Eaton wrote:
|
| > On 8-Dec-2011, Rik wrote:
| >
| > | Okay, this final patch works for me and 'make check' passes cleanly. Can
| > | you also push the changes for ov-oncleanup.h to the repository? I made
| > | them by hand to get Octave to compile.
| >
| > Sorry, I thought I had already pushed the other change. Both are
| > pushed now.
| >
| > jwe
|
| Works for me as well.
OK, at least it doesn't crash immediately, but I noticed the
following:
graphics toolkit fltk
sombrero
quit
works, but
graphics toolkit fltk
sombrero
## manipulate the plot with the mouse
quit
segfaults. The crash occurs here:
#0 0x00007ffff49116ed in FT_Done_Face () from
/usr/lib/x86_64-linux-gnu/libfreetype.so.6
#1 0x00007ffff73f2262 in ft_render::~ft_render (this=0xd89be8,
__in_chrg=<optimized out>)
at /home/jwe/src/octave/src/txt-eng-ft.cc:251
#2 0x00007ffff726d26f in axes::properties::~properties (this=0xd89060,
__in_chrg=<optimized out>)
at ./graphics.h:4874
#3 0x00007ffff72744b9 in axes::~axes (this=0xd89050, __in_chrg=<optimized
out>) at ./graphics.h:6723
#4 0x00007ffff727452e in axes::~axes (this=0xd89050, __in_chrg=<optimized
out>) at ./graphics.h:6723
#5 0x00007ffff714d163 in graphics_object::~graphics_object
(this=0x7fffeab23770, __in_chrg=<optimized out>)
at ./graphics.h:3065
#6 0x00007ffff509ad82 in __run_exit_handlers (status=0,
listp=0x7ffff53e24c8, run_list_atexit=true) at exit.c:78
#7 0x00007ffff509add5 in *__GI_exit (status=14538000) at exit.c:100
#8 0x00007ffff73ecd4e in clean_up_and_exit (retval=0) at
/home/jwe/src/octave/src/toplev.cc:687
#9 0x00007ffff73ec8cd in main_loop () at
/home/jwe/src/octave/src/toplev.cc:641
#10 0x00007ffff73a37d4 in octave_main (argc=6, argv=0x7fffffffda98,
embedded=0)
at /home/jwe/src/octave/src/octave.cc:938
#11 0x00000000004006f9 in main (argc=6, argv=0x7fffffffda98) at
/home/jwe/src/octave/src/main.c:35
So it is happening after we have supposedly closed all the graphics
windows and removed all the toolkit objects. But some graphics
objects are still present and calling destructors for them is not
working. And they shouldn't even exist at this point. I don't know
what would be grabbing a copy and hanging on to it until the system
exit function is called.
I'll try to work on this problem some more tomorrow.
jwe
- Re: segfault and onCleanup(), (continued)
- Re: segfault and onCleanup(), Rik, 2011/12/08
- Re: segfault and onCleanup(), Ben Abbott, 2011/12/08
- Re: segfault and onCleanup(), John W. Eaton, 2011/12/08
- Re: segfault and onCleanup(), Ben Abbott, 2011/12/08
- Re: segfault and onCleanup(), John W. Eaton, 2011/12/08
- Re: segfault and onCleanup(), Rik, 2011/12/08
- Re: segfault and onCleanup(), John W. Eaton, 2011/12/08
- Re: segfault and onCleanup(), Ben Abbott, 2011/12/08
- segfault cleaning up graphics objects,
John W. Eaton <=
- Re: segfault cleaning up graphics objects, Tatsuro MATSUOKA, 2011/12/08
- segfault cleaning up graphics objects, John W. Eaton, 2011/12/09
- Re: segfault and onCleanup(), John W. Eaton, 2011/12/08