octave-maintainers
[Top][All Lists]
Advanced

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

octave-3.0.0+ segmentation fault


From: Michael Goffioul
Subject: octave-3.0.0+ segmentation fault
Date: Mon, 31 Dec 2007 21:37:13 +0100

Hi,

I just tried to compile and run octave with the object branch merged,
but it crashes at startup (Windows/MSVC). Error occurs in
symbol_table::pop_scope (void) when reassigning xcurrent_caller_scope
(symtab.h, line 660).

The backtrace is below (copied from vcexpress, might be difficult to
read), but basically, this happends when sourcing PKG_ADD from
the base oct-directory, during load_path initialization. When unwinding
the frame, symbol_table::pop_scope() is called. At that moment,
scope_stack contains 2 elements. The first statement pops the
first element, but then the 3rd statement tries to access the element
at index 1, which is invalid.

Michael.

        octinterp.dll!symbol_table::pop_scope()  Line 660       C++
        octinterp.dll!symbol_table::pop_scope(void * __formal=0x00000000)
Line 663 + 0x8 bytes    C++
        octinterp.dll!unwind_protect::run_frame(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
tag="source_file")  Line 234 + 0xc bytes        C++
        octinterp.dll!source_file(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
file_name="C:\Software\VCLibs\local\octave-vc8-debug\libexec\octave\3.0.0+\oct\i686-pc-msdosmsvc\PKG_ADD",
const std::basic_string<char,std::char_traits<char>,std::allocator<char>
> & context="base")  Line 3594 + 0x1b bytes     C++
        octinterp.dll!execute_pkg_add_or_del(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
dir="C:\Software\VCLibs\local\octave-vc8-debug\libexec\octave\3.0.0+\oct\i686-pc-msdosmsvc",
const std::basic_string<char,std::char_traits<char>,std::allocator<char>
> & script_file="PKG_ADD")  Line 1618 + 0x25 bytes      C++
        octinterp.dll!execute_pkg_add(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
dir="C:\Software\VCLibs\local\octave-vc8-debug\libexec\octave\3.0.0+\oct\i686-pc-msdosmsvc")
 Line 1626 + 0x22 bytes C++
        octinterp.dll!load_path::do_set(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
p=".;;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\site\m;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\site\m\startup;C:\Software\VCLibs\local\octave-vc8-debug\libexec\octave\3.0.0+\oct\i686-pc-msdosmsvc;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\audio;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\control;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\control\base;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\control\hinf;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\control\obsolete;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\control\system;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\control\util;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\deprecated;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.0.0+\m\elfun;C:\Software\VCLibs\local\octave-vc8-debug\share\octave\3.",
bool warn=false)  Line 518 + 0xf bytes  C++
        octinterp.dll!load_path::do_initialize(bool set_initial_path=true)
Line 445        C++
        octinterp.dll!load_path::initialize(bool set_initial_path=true)  Line 
52        C++
        octinterp.dll!octave_main(int argc=1, char * * argv=0x01891758, int
embedded=0)  Line 756 + 0xc bytes       C++
        octave.exe!main(int argc=1, char * * argv=0x01891758)  Line 35 + 0xf 
bytes      C
        octave.exe!__tmainCRTStartup()  Line 586 + 0x17 bytes   C
        kernel32.dll!7c816fd7()         
        [Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]
        octave.dll!max(const intNDArray<octave_int<unsigned char> > &
m={...}, octave_int<unsigned char> d={...})  Line 51 + 0x183 bytes      C++
        octave.dll!operator<<<octave_int<unsigned short>
>(std::basic_ostream<char,std::char_traits<char> > & os={...}, const
intNDArray<octave_int<unsigned short> > & a={...})  Line 192 + 0x49
bytes   C++
        cccccccc()



reply via email to

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