#30627: octave-devel crashes on mismatched matrix dimensions ------------------------------------------------+--------------------------- Reporter: jmrosenstock@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.1 Keywords: | Port: octave-devel ------------------------------------------------+--------------------------- 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> MacPorts <http://www.macports.org/> Ports system for Mac OS