Opened 13 years ago

Last modified 12 years ago

#30627 closed defect

octave-devel crashes on mismatched matrix dimensions — at Initial Version

Reported by: jmrosenstock@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: Cc:
Port: octave-devel

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 ()

Change History (0)

Note: See TracTickets for help on using tickets.