Dynamic Extension & Bus error
Thomas Treichl
Thomas.Treichl at gmx.net
Wed Apr 22 12:31:42 CDT 2009
Daniel Eggert schrieb:
> I'm trying to create my own dynamic extension, but it won't run:
>
> > sushi
> panic: Bus error -- stopping myself...
>
>
> The code looks like:
>
> #include <octave/oct.h>
>
> DEFUN_DLD(sushi,
> args,
> nargout,
> "[...] = sushi (...)\n")
> {
> return octave_value(1);
> }
>
>
> The back trace looks like this:
>
> 0 liboctave.dylib 0x01afafc6
> Array<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > >::operator=(Array<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > const&) + 38
> 1 liboctinterp.dylib 0x00f4ad9c
> octave_builtin::do_multi_index_op(int, octave_value_list const&) + 284
> 2 liboctinterp.dylib 0x00f337d9
> octave_value::do_multi_index_op(int, octave_value_list const&) + 41
> 3 liboctinterp.dylib 0x0106f071
> tree_identifier::rvalue(int) + 1409
> 4 liboctinterp.dylib 0x010933c7
> tree_statement::eval(bool, int, bool) + 343
> 5 liboctinterp.dylib 0x01093770
> tree_statement_list::eval(bool, int) + 176
> 6 liboctinterp.dylib 0x00e9ecb3 main_loop() + 163
> 7 liboctinterp.dylib 0x00e41f71 octave_main + 3361
> 8 octave-3.0.5 0x00004d80 main + 32
> 9 octave-3.0.5 0x000046e2 _start + 216
> 10 octave-3.0.5 0x00004609 start + 41
>
>
> Any thoughts?
I think that you need to provide some more information about what you are doing,
which OSX and hardware platform you are using, where you got your Octave from,
etc. Try calling "bug_report" in Octave to see what else is very useful for us.
All this because I cannot reproduce the problem with my 3.0.5 binary:
$ ~/bin/Octave.app.3.0.5/Octave.app/Contents/Resources/bin/mkoctfile sushi.cc
$ ~/bin/Octave.app.3.0.5/Octave.app/Contents/Resources/bin/octave -q
octave-3.0.5:1> sushi
ans = 1
Best regards,
Thomas
More information about the Help-octave
mailing list