Re: [PATCH] libgst: Add built-in for Behavior>>#new and >>#new:

Holger Hans Peter Freyther <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.gnu.general
Message-ID <[email protected]>
On Sun, Aug 03, 2014 at 10:56:19AM +0200, Holger Hans Peter Freyther wrote:

Dear Paolo,

> Okay, before things go wrong Behavior_newInitialize is called while the
> processor scheduler is being created.

valgrind is giving me these with the plain JIT (without my patch
as far as I can see)



==13940== Invalid read of size 4
==13940==    at 0x40CE5E6: sync_wait_process (interp.c:1697)
==13940==    by 0x884D7FF: ???
==13940==    by 0x40CF6AE: _gst_nvmsg_send (interp.c:2318)
==13940==    by 0x404B069: _gst_execute_statements (comp.c:588)
==13940==    by 0x403D3C4: execute_doit (gst-parse.c:592)
==13940==    by 0x403DBFA: make_attribute (gst-parse.c:801)
==13940==    by 0x403F2B6: parse_attribute (gst-parse.c:1497)
==13940==    by 0x403F126: parse_attributes (gst-parse.c:1461)
==13940==    by 0x403ED35: parse_method (gst-parse.c:1333)
==13940==    by 0x403E090: parse_class_definition (gst-parse.c:907)
==13940==    by 0x403D885: parse_scoped_definition (gst-parse.c:718)
==13940==    by 0x403D51E: parse_doit (gst-parse.c:624)


Program received signal SIGTRAP, Trace/breakpoint trap.
sync_wait_process (semaphoreOOP=0x884e460, processOOP=0x410bb64) at interp.c:1697
1697	  if (TO_INT (sem->signals) <= 0)
(gdb) bt
#0  sync_wait_process (semaphoreOOP=0x884e460, processOOP=0x410bb64) at interp.c:1697
#1  0x0884d800 in ?? ()
#2  0x040cf5b4 in _gst_nvmsg_send (receiver=0x884d800, sendSelector=0x8852fe8, args=0x0, 
    sendArgs=0) at interp.c:2318
#3  0x0404b052 in _gst_execute_statements (receiverOOP=0x884d800, method=0x480c1b0, 
    undeclared=false, quiet=true) at comp.c:588
#4  0x0403d3c5 in execute_doit (p=0xbecae4cc, temps=0x0, stmts=0x480c174, 
    receiverOOP=0x884d800, undeclared=false, quiet=true) at gst-parse.c:592
#5  0x0403dbfb in make_attribute (p=0xbecae4cc, classOOP=0x884d800, 
    attribute_keywords=0x480c138) at gst-parse.c:801
#6  0x0403f2b7 in parse_attribute (p=0xbecae4cc) at gst-parse.c:1497
#7  0x0403f127 in parse_attributes (p=0xbecae4cc, prev_attrs=0x480c090) at gst-parse.c:1461
#8  0x0403ed36 in parse_method (p=0xbecae4cc, at_end=93) at gst-parse.c:1333
#9  0x0403e091 in parse_class_definition (p=0xbecae4cc, classOOP=0x884e460, extend=true)
    at gst-parse.c:907
#10 0x0403d886 in parse_scoped_definition (p=0xbecae4cc, first_stmt=0x480be00)
    at gst-parse.c:718
#11 0x0403d51f in parse_doit (p=0xbecae4cc, fail_at_eof=false) at gst-parse.c:624
#12 0x0403cd07 in parse_chunks (p=0xbecae4cc) at gst-parse.c:475
#13 0x0403cbfd in _gst_parse_chunks (currentNamespace=0x0) at gst-parse.c:449
#14 0x04042df0 in _gst_parse_stream (currentNamespace=0x0) at lex.c:1209
#15 0x04087987 in _gst_process_file (fileName=0x40e7000 <standard_files> "Builtins.st", 
    dir=GST_DIR_KERNEL) at input.c:855
#16 0x0403bb7d in load_standard_files () at files.c:582
#17 0x0403b9c2 in _gst_initialize (
    kernel_dir=0x448dc10 "/home/ich/source/smalltalk/smalltalk-jit/kernel", 
    image_file=0x40e7696 "gst.im", flags=11) at files.c:524
#18 0x0403acfb in gst_initialize (kernel_dir=0x0, image_file=0x0, flags=3) at gstpub.c:156
#19 0x0804929b in main (argc=2, argv=0xbecae844) at main.c:386
(gdb) c
Continuing.

so this jump just doesn't make any sense. Would you have some time to
go through this with me? :}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.