octave-maintainers
[Top][All Lists]
Advanced

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

Re: segfault and onCleanup()


From: Ben Abbott
Subject: Re: segfault and onCleanup()
Date: Thu, 08 Dec 2011 14:50:16 -0500

On Dec 8, 2011, at 2:30 PM, John W. Eaton wrote:

> On  8-Dec-2011, Ben Abbott wrote:
> 
> | Catchpoint 1 (exception thrown).
> | Catchpoint 1 (exception caught), throw location misc/quit.cc:67, catch 
> location unknown, exception type octave_execution_exception
> | 0x000000010362c03d in __cxa_throw ()
> | (gdb) bt
> | #0  0x000000010362c03d in __cxa_throw ()
> | #1  0x0000000102f37dbc in octave_throw_execution_exception () at 
> misc/quit.cc:67
> | #2  0x000000010031c0d7 in lo_error_handler (fmt=<value temporarily 
> unavailable, due to optimizations>) at octave.cc:575
> | #3  0x0000000100061e94 in do_bsxfun_op<double, double, double> 
> (address@hidden, address@hidden, op_vv=0x10153b8d0 <mx_inline_sub<double, 
> double, double>>, op_sv=0x10153b810 <mx_inline_sub<double, double, double>>, 
> op_vs=0x10153b750 <mx_inline_sub<double, double, double>>) at 
> bsxfun-defs.cc:58
> | ...
> | #95 0x000000010039213e in main_loop () at toplev.cc:595
> | #96 0x0000000100324fdf in octave_main (argc=<value temporarily unavailable, 
> due to optimizations>, argv=<value temporarily unavailable, due to 
> optimizations>, embedded=0) at octave.cc:938
> | #97 0x0000000100000f44 in start ()
> 
> The code in main_loop is also supposed to catch execution exceptions.
> Is that not happening for you in this case?  If you also use the gdb
> command "catch catch" to stop when the exception is caught, does it
> show you that this exception is caught somewhere?  If you continue on
> from there, do you generate a segfault at some point?  Is there an
> exception that is thrown but not caught?
> 
> jwe


First, I tried starting and then quiting.

(gdb) catch catch
(gdb) run
quit

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
toplev.cc:635, exception type octave_interrupt_exception
0x000000010362acbc in __cxa_begin_catch ()
(gdb) bt
#0  0x000000010362acbc in __cxa_begin_catch ()
#1  0x000000010039233c in main_loop () at toplev.cc:635
#2  0x0000000100324fdf in octave_main (argc=<value temporarily unavailable, due 
to optimizations>, argv=<value temporarily unavailable, due to optimizations>, 
embedded=0) at octave.cc:938
#3  0x0000000100000f44 in start ()
(gdb) continue
Continuing.
Program exited normally.
(gdb) 

Next, I tried running fntests

(gdb) catch catch
(gdb) run
cd test/
fntests
Reading symbols for shared libraries . done

Integrated test scripts:

Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
  src/DLD-FUNCTIONS/__contourc__.cc ...................... PASS    1/1   
  src/DLD-FUNCTIONS/__delaunayn__.cc ..................... PASS    1/1   
  src/DLD-FUNCTIONS/__dispatch__.cc ...................... PASS    1/1   
  src/DLD-FUNCTIONS/__dsearchn__.cc ...................... PASS    1/1   
  src/DLD-FUNCTIONS/__fltk_uigetfile__.cc ................ PASS    1/1   
  src/DLD-FUNCTIONS/__glpk__.cc .......................... PASS    1/1   
  src/DLD-FUNCTIONS/__lin_interpn__.cc ................... PASS    1/1   
  src/DLD-FUNCTIONS/__magick_read__.cc ................... PASS    4/4   
  src/DLD-FUNCTIONS/__pchip_deriv__.cc ................... PASS    1/1   
  src/DLD-FUNCTIONS/__qp__.cc ............................ PASS    1/1   
  src/DLD-FUNCTIONS/__voronoi__.cc ....................... PASS    1/1   
  src/DLD-FUNCTIONS/besselj.cc ...........................Reading symbols for 
shared libraries . done
 PASS  180/180 
  src/DLD-FUNCTIONS/betainc.cc ...........................Reading symbols for 
shared libraries . done
 PASS    6/6   
  src/DLD-FUNCTIONS/bsxfun.cc ............................Reading symbols for 
shared libraries . done
Reading symbols for shared libraries . done

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
ov-builtin.cc:146, exception type octave_execution_exception
0x000000010362acbc in __cxa_begin_catch ()
(gdb) continue
Continuing.

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
ov-builtin.cc:146, exception type octave_execution_exception
0x000000010362acbc in __cxa_begin_catch ()
(gdb) continue
Continuing.

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
ov-builtin.cc:146, exception type octave_execution_exception
0x000000010362acbc in __cxa_begin_catch ()
(gdb) continue
Continuing.

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
ov-builtin.cc:146, exception type octave_execution_exception
0x000000010362acbc in __cxa_begin_catch ()
(gdb) continue
Continuing.

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
ov-builtin.cc:146, exception type octave_execution_exception
0x000000010362acbc in __cxa_begin_catch ()
(gdb) continue
Continuing.
 PASS   73/73  
  src/DLD-FUNCTIONS/cellfun.cc ........................... PASS  121/121 
  src/DLD-FUNCTIONS/chol.cc ..............................Reading symbols for 
shared libraries . done

Catchpoint 1 (exception caught).
Catchpoint 1 (exception caught), throw location unknown, catch location 
ov-builtin.cc:146, exception type octave_execution_exception
0x000000010362acbc in __cxa_begin_catch ()

Many more exceptions are caught. Most of them at ov-builtin.cc:146. Others are 
...

Catchpoint 1 (exception caught), throw location unknown, catch location 
utils.cc:1324, exception type octave_execution_exception

Catchpoint 1 (exception caught), throw location unknown, catch location 
pt-eval.cc:748, exception type octave_execution_exception

Catchpoint 1 (exception caught), throw location unknown, catch location 
DLD-FUNCTIONS/__magick_read__.cc:1195, exception type Magick::ErrorOption

Catchpoint 1 (exception caught), throw location unknown, catch location 
ov.cc:1905, exception type octave_execution_exception

When the tests complete and I "quit" ...

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x000000010cf9e118
0x00000001001ee9d7 in std::_Rb_tree<std::string, std::pair<std::string const, 
graphics_toolkit>, std::_Select1st<std::pair<std::string const, 
graphics_toolkit> >, std::less<std::string>, 
std::allocator<std::pair<std::string const, graphics_toolkit> > >::_M_erase 
(this=0x100c37720, __x=<value temporarily unavailable, due to optimizations>) 
at graphics.h:2177
2177            delete rep;
(gdb) bt
#0  0x00000001001ee9d7 in std::_Rb_tree<std::string, std::pair<std::string 
const, graphics_toolkit>, std::_Select1st<std::pair<std::string const, 
graphics_toolkit> >, std::less<std::string>, 
std::allocator<std::pair<std::string const, graphics_toolkit> > >::_M_erase 
(this=0x100c37720, __x=<value temporarily unavailable, due to optimizations>) 
at graphics.h:2177
#1  0x00007fff8526c7c8 in __cxa_finalize ()
#2  0x00007fff8526c652 in exit ()
#3  0x00000001003918ff in clean_up_and_exit (retval=<value temporarily 
unavailable, due to optimizations>) at toplev.cc:685
#4  0x0000000100392420 in main_loop () at toplev.cc:641
#5  0x0000000100324fdf in octave_main (argc=<value temporarily unavailable, due 
to optimizations>, argv=<value temporarily unavailable, due to optimizations>, 
embedded=0) at octave.cc:938
#6  0x0000000100000f44 in start ()
Current language:  auto; currently c++

Ben



reply via email to

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