[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