octave-maintainers
[Top][All Lists]
Advanced

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

Re: octave-3.0.0+ segmentation fault


From: Michael Goffioul
Subject: Re: octave-3.0.0+ segmentation fault
Date: Sat, 5 Jan 2008 15:10:11 +0100

On 1/5/08, Michael Goffioul <address@hidden> wrote:
> The count is indeed 1, but rep is not undefined: it's an octave_dld_function
> that corresponds to the autoloaded gnuplot_binary function from
> __gnuplot_raw__.oct.

I tried to trace the problem a little bit more and found something weird.
When gnuplot_binary is called a second time, as reported earlier in
the backtrace, the code comes to ov.h:line 279, where "rep" is deleted:
in this case, "rep" is an octave_dld_function representing the autoloaded
function "gnuplot_binary" in __gnuplot_raw__.oct.

When switching to disassembly code, I noticed that the call "delete rep"
goes through a frame corresponding to compiler autogenerated code,
named "scalar deleting destructor". This little piece of code finally calls
the octave_dld_function destructor with a code that is roughly described
here: http://www.thescripts.com/forum/thread263644.html.

Now the problem is that this additional frame is located in
__gnuplot_raw__.oct address space. So, when the octave_dld_function
destructor unloads __gnuplot_raw__.oct from memory, this invalidates
the frame and lead to a crash when unwinding the call stack.

I don't know if this can be considered as a compiler bug, nor why this
frame is generated in the oct-file address space, but I really have a
problem now, as octave is un-compilable for me...

Michael.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]