[MacPorts] #30627: octave-devel crashes on mismatched matrix dimensions

MacPorts noreply at macports.org
Sat Aug 6 14:31:00 PDT 2011


#30627: octave-devel crashes on mismatched matrix dimensions
------------------------------------------------+---------------------------
 Reporter:  jmrosenstock@…                      |       Owner:  michaelld@…           
     Type:  defect                              |      Status:  new                   
 Priority:  Normal                              |   Milestone:                        
Component:  ports                               |     Version:  2.0.1                 
 Keywords:                                      |        Port:  octave-devel          
------------------------------------------------+---------------------------
Changes (by macsforever2000@…):

  * owner:  macports-tickets@… => michaelld@…


Old description:

> I reported this to octave:
> https://savannah.gnu.org/bugs/index.php?33943
>
> They think something with catching exceptions isn't right with the
> macports configuration, perhaps related to exception handling.
>
> "The xgemm function is part of Octave (liboctave/dMatrix.cc). When it
> detects a dimension mismatch, it calls gripe_nonconformant (liboctave/lo-
> array-gripes.cc). That function calls an error handler using the function
> pointer current_liboctave_error_with_id_handler. Normally, that is set to
> lo_error_with_id_handler (set in the function initialize_error_handlers
> in src/octave.cc). That function ultimately calls
> octave_throw_execution_exception (libcruft/misc/quit.cc) which ultimately
> throws a C++ exception which should be caught in the main_loop function
> (src/toplev.cc). I'd guess the abort is happening because the exception
> is not caught as it should be."
>
> GNU Octave, version 3.4.2
> Octave was configured for "i386-apple-darwin9.8.0".
> octave:1> [ 1 2 ] * [ 1 2 3 ]
>
> Program received signal SIGABRT, Aborted.
> 0x915b1d52 in __kill ()
> (gdb) bt
> #0 0x915b1d52 in __kill ()
> #1 0x915b1d44 in kill$UNIX2003 ()
> #2 0x91624242 in raise ()
> #3 0x91630681 in abort ()
> #4 0x970c4a2a in _Unwind_Resume ()
> #5 0x023636cd in xgemm ()
> #6 0x02363760 in operator* ()
> #7 0x017343be in oct_binop_mul ()
> #8 0x0145676a in do_binary_op ()
> #9 0x014f4832 in tree_binary_expression::rvalue1 ()
> #10 0x011ffcce in fold ()
> #11 0x012038dd in octave_parse ()
> #12 0x012ea641 in main_loop ()
> #13 0x0127b92e in octave_main ()
> #14 0x00001ff0 in main ()

New description:

 I reported this to octave:
 https://savannah.gnu.org/bugs/index.php?33943

 They think something with catching exceptions isn't right with the
 macports configuration, perhaps related to exception handling.

 "The xgemm function is part of Octave (liboctave/dMatrix.cc). When it
 detects a dimension mismatch, it calls gripe_nonconformant (liboctave/lo-
 array-gripes.cc). That function calls an error handler using the function
 pointer current_liboctave_error_with_id_handler. Normally, that is set to
 lo_error_with_id_handler (set in the function initialize_error_handlers in
 src/octave.cc). That function ultimately calls
 octave_throw_execution_exception (libcruft/misc/quit.cc) which ultimately
 throws a C++ exception which should be caught in the main_loop function
 (src/toplev.cc). I'd guess the abort is happening because the exception is
 not caught as it should be."

 {{{
 GNU Octave, version 3.4.2
 Octave was configured for "i386-apple-darwin9.8.0".
 octave:1> [ 1 2 ] * [ 1 2 3 ]

 Program received signal SIGABRT, Aborted.
 0x915b1d52 in __kill ()
 (gdb) bt
 #0 0x915b1d52 in __kill ()
 #1 0x915b1d44 in kill$UNIX2003 ()
 #2 0x91624242 in raise ()
 #3 0x91630681 in abort ()
 #4 0x970c4a2a in _Unwind_Resume ()
 #5 0x023636cd in xgemm ()
 #6 0x02363760 in operator* ()
 #7 0x017343be in oct_binop_mul ()
 #8 0x0145676a in do_binary_op ()
 #9 0x014f4832 in tree_binary_expression::rvalue1 ()
 #10 0x011ffcce in fold ()
 #11 0x012038dd in octave_parse ()
 #12 0x012ea641 in main_loop ()
 #13 0x0127b92e in octave_main ()
 #14 0x00001ff0 in main ()
 }}}

--

-- 
Ticket URL: <https://trac.macports.org/ticket/30627#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list