octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New parser and command line functions


From: Michael D. Godfrey
Subject: Re: New parser and command line functions
Date: Wed, 13 Mar 2013 17:02:13 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130219 Thunderbird/17.0.3

On 03/13/2013 04:56 PM, John W. Eaton wrote:
On 03/13/2013 04:52 PM, Michael D. Godfrey wrote:
On 03/13/2013 12:58 PM, John W. Eaton wrote:
On 03/13/2013 12:02 PM, Rik wrote:
3/13/13

John,

You might want to take a look at the parsing of command line
functions. I
tried this,

octave:1> function y = mysin (x)
y = sin (x);
endfunction
�: interpfcn/symtab.h:2039: static void
symbol_table::set_curr_fcn(octave_user_function*, int): Assertion
`scope !=
xtop_scope&& scope != xglobal_scope' failed.
Abort

and got thrown back to the shell.

It seems to work for me, so I'm not sure how to debug the problem.

Not that I want to invest the time, but this bug and the previous one
with
debugging, could only be caught by an interactive test suite such as one
written with expect. Our current m-file based strategy doesn't get at
these.

The test suite used to be in expect (DejaGNU) but it was somewhat
harder to write tests than it is now. And, as I remember it, slower to
run the tests, because each one started a new Octave process. Maybe
those problems could be avoided by automatically generating the tests
for expect from the current tests we have and using some other method
of running them with expect that what we were using. But as you imply,
it would take some time to make that work...

jwe

Well, on fc18 x86 and latest devel:
octave:1> function y = mysin (x)
 > y = sin (x);
 > endfunction
octave: interpfcn/symtab.h:2039: static void
symbol_table::set_curr_fcn(octave_user_function*,
symbol_table::scope_id): Assertion `scope != xtop_scope && scope !=
xglobal_scope' failed.
Abort (core dumped)
[pbdsl3:octave]

So, there does seem to be a problem.
Is there more information that I could provide?

32-bit system?
No. x64.  I have no 32bit systems.

GCC version?
[pbdsl3:octave] gcc --version
gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)


Maybe I could try to reproduce on a 32-bit system.

Rik, is your OS also 32-bit?

Can you duplicate the problem when running with gdb and generate a stack trace?
octave:1> function y = mysin (x)
> y = sin (x);
> endfunction
octave: interpfcn/symtab.h:2039: static void symbol_table::set_curr_fcn(octave_user_function*, symbol_table::scope_id): Assertion `scope != xtop_scope && scope != xglobal_scope' failed.

Program received signal SIGABRT, Aborted.
0x000000314f235ba5 in __GI_raise (address@hidden) at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
63      return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
Missing separate debuginfos, use: debuginfo-install arpack-3.0.1-3.fc18.x86_64 atlas-3.8.4-7.fc18.x86_64 blas-3.4.2-1.fc18.x86_64 expat-2.1.0-4.fc18.x86_64 fftw-libs-double-3.3.3-5.fc18.x86_64 fftw-libs-single-3.3.3-5.fc18.x86_64 fltk-1.3.0-8.fc18.x86_64 fontconfig-2.10.2-2.fc18.x86_64 freetype-2.4.10-3.fc18.x86_64 glib2-2.34.2-2.fc18.x86_64 hdf5-1.8.9-5.fc18.x86_64 keyutils-libs-1.5.5-3.fc18.x86_64 krb5-libs-1.10.3-5.fc18.x86_64 libICE-1.0.8-2.fc18.x86_64 libSM-1.2.1-2.fc18.x86_64 libX11-1.5.0-3.fc18.x86_64 libXau-1.0.6-4.fc18.x86_64 libXcursor-1.1.13-2.fc18.x86_64 libXdamage-1.1.3-4.fc18.x86_64 libXext-1.3.1-2.fc18.x86_64 libXfixes-5.0-3.fc18.x86_64 libXft-2.3.1-2.fc18.x86_64 libXi-1.6.2-1.fc18.x86_64 libXinerama-1.1.2-2.fc18.x86_64 libXrandr-1.4.0-1.fc18.x86_64 libXrender-0.9.7-2.fc18.x86_64 libXxf86vm-1.1.2-2.fc18.x86_64 libcom_err-1.42.5-1.fc18.x86_64 libdrm-2.4.42-1.fc18.x86_64 libffi-3.0.10-3.fc18.x86_64 libpng-1.5.13-1.fc18.x86_64 libselinux-2.1.12-7.1.fc18.x86_64 libuuid-2.22.2-6.fc18.x86_64 libxcb-1.9-1.fc18.x86_64 mesa-libGL-9.0.3-1.fc18.x86_64 mesa-libGLU-9.0.0-1.fc18.x86_64 mesa-libglapi-9.0.3-1.fc18.x86_64 ncurses-libs-5.9-7.20121017.fc18.x86_64 openssl-libs-1.0.1e-3.fc18.x86_64 pcre-8.31-4.fc18.x86_64 qrupdate-1.1.2-2.fc18.x86_64 qscintilla-2.6.2-3.fc18.x86_64 qt-4.8.4-14.fc18.x86_64 qt-x11-4.8.4-14.fc18.x86_64 readline-6.2-5.fc18.x86_64 suitesparse-3.6.1-4.fc18.x86_64 zlib-1.2.7-9.fc18.x86_64
(gdb) bt
#0 0x000000314f235ba5 in __GI_raise (address@hidden) at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
#1  0x000000314f237358 in __GI_abort () at abort.c:90
#2 0x000000314f22e972 in __assert_fail_base (fmt=0x314f3793e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", address@hidden "scope != xtop_scope && scope != xglobal_scope", address@hidden "interpfcn/symtab.h", address@hidden, address@hidden 0x7ffff7661bc0 <symbol_table::set_curr_fcn(octave_user_function*, int)::__PRETTY_FUNCTION__> "static void symbol_table::set_curr_fcn(octave_user_function*, symbol_table::scope_id)") at assert.c:92
#3  0x000000314f22ea22 in __GI___assert_fail (assertion=
    0x7ffff7661938 "scope != xtop_scope && scope != xglobal_scope", file=
    0x7ffff765e79c "interpfcn/symtab.h", line=2039, function=
0x7ffff7661bc0 <symbol_table::set_curr_fcn(octave_user_function*, int)::__PRETTY_FUNCTION__> "static void symbol_table::set_curr_fcn(octave_user_function*, symbol_table::scope_id)") at assert.c:101 #4 0x00007ffff6a6f6b7 in symbol_table::set_curr_fcn (address@hidden, address@hidden)
    at interpfcn/symtab.h:2039
#5 0x00007ffff6a6b366 in octave_user_function::octave_user_function (this=0x79fe30, sid=1, pl=0xa8fdd0, rl=
    0x0, cl=0xa7f520) at octave-value/ov-usr-fcn.cc:205
#6 0x00007ffff6afb27f in octave_base_parser::start_function (address@hidden, param_list= 0xa8fdd0, body=0xa7f520, end_fcn_stmt=<optimized out>) at parse-tree/oct-parse.yy:2571 #7 0x00007ffff6b029fc in octave_push_parse (address@hidden, yypushed_char=301, address@hidden, parser=...) at parse-tree/oct-parse.yy:1172 #8 0x00007ffff6b039f7 in octave_pull_parse (yyps=0x0, parser=...) at parse-tree/oct-parse.cc:2128
#9  0x00007ffff6dfd0a7 in main_loop () at interpfcn/toplev.cc:581
#10 0x00007ffff66c23dd in octave_execute_interpreter () at octave.cc:1009
#11 0x000000314f221a05 in __libc_start_main (main=0x400b90 <main(int, char**)>, argc=2, ubp_av= 0x7fffffffde68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=
    0x7fffffffde58) at libc-start.c:225
#12 0x0000000000400c31 in _start ()
(gdb)


jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]