crash

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

crash

Robin Redeker-2
Hi,

i just stepped on this:

   echo '{{}}!' | gst
   GNU Smalltalk ready

   stdin:1: Bytecode verification failed: Invalid Array constructor
   stdin:1: Method verification failed for UndefinedObject>>#executeStatements
   stdin:1: Aborted
   stdin:1: Error occurred while not in byte code interpreter!!
   /lib/libc.so.6[0x2b22b6da2e90]
   /lib/libc.so.6(gsignal+0x40)[0x2b22b6da2de0]
   /lib/libc.so.6(abort+0x100)[0x2b22b6da4290]
   gst[0x426636]
   gst[0x44ea61]
   gst[0x4606de]
   gst[0x40c00e]
   gst[0x464d3a]
   gst[0x406587]
   gst[0x40592c]
   Aborted (core dumped)

Happens with 2.2b and current anon cvs.

Here is a backtrace:

#0  0x00002b352eb57de0 in raise () from /lib/libc.so.6
#1  0x00002b352eb59290 in abort () from /lib/libc.so.6
#2  0x0000000000426636 in _gst_verify_sent_method (methodOOP=0x2b352f2bdd90) at opt.c:1184
#3  0x000000000044ea61 in _gst_send_method (methodOOP=0x2081) at interp-bc.inl:301
#4  0x00000000004606de in _gst_nvmsg_send (receiver=0x2b352f20a000,
    sendSelector=0x2b352f2bdd90, args=0x0, sendArgs=0) at interp.c:2126
#5  0x000000000040c00e in _gst_execute_statements (temporaries=<value optimized out>,
    statements=<value optimized out>, quiet=<value optimized out>) at comp.c:670
#6  0x0000000000464d3a in _gst_parse_chunks () at gst-parse.c:310
#7  0x0000000000406587 in _gst_parse_stream (method=false) at lex.c:1068
#8  0x00000000004058be in process_file (fileName=0x7fff7c6b7b51 "e.st") at lib.c:771
#9  0x000000000040597e in gst_top_level_loop () at lib.c:560
#10 0x0000000000405865 in main (argc=<value optimized out>, argv=<value optimized out>)
    at main.c:55

btw. evaluating '{{}}!' in the blox browser works :)

Robin


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: crash

Paolo Bonzini
Robin Redeker wrote:
> Hi,
>
> i just stepped on this:
>
>    echo '{{}}!' | gst

hmmm... a one line fix:

--- orig/libgst/opt.c
+++ mod/libgst/opt.c
@@ -1715,6 +1715,7 @@ _gst_verify_method (OOP methodOOP, int *
             SEND_IMMEDIATE {
               if (n == NEW_COLON_SPECIAL
                   && IS_INT (last_used_literal)
+                 && last_used_literal != FROM_INT (0)
                   && sp[-2] == OOP_CLASS (_gst_array_class))
                 {
                   partially_constructed_array *a;

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk