help-smalltalk
[Top][All Lists]
Advanced

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

Re: [Help-smalltalk] Bug in GC? cuasing SIGABRT


From: Ladislav Marek
Subject: Re: [Help-smalltalk] Bug in GC? cuasing SIGABRT
Date: Thu, 21 Jul 2011 13:49:42 +0200

I simplified the code again (attached), hope it will be easier to
found where that bug is.

On Wed, Jul 20, 2011 at 16:27, Ladislav Marek <address@hidden> wrote:
> ---------- Forwarded message ----------
> From: Ladislav Marek <address@hidden>
> Date: Wed, Jul 20, 2011 at 15:46
> Subject: Re: [Help-smalltalk] Bug in GC? cuasing SIGABRT
> To: Gwenaël Casaccio <address@hidden>
>
>
> There it is, I try to cleanup it little, but there is still lot of
> code… it starts listening on port 9001, to reproduce this I use
> command:
>
> ab -n 1000 -c 1000 http://127.0.0.1:9001/
>
> invoked more than once. It actually sometimes ends with SIGSEGV…
> Thanks!
>
> On Wed, Jul 20, 2011 at 14:56, Gwenaël Casaccio <address@hidden> wrote:
>> Hi,
>>
>> This is may be related to gc can you send the source code ?
>>
>> Cheers,
>> Gwen
>>
>> On Wed, Jul 20, 2011 at 1:17 PM, Ladislav Marek <address@hidden> wrote:
>>> Hi,
>>>
>>> I'm writing simple HTTP server (just for fun), for testing I use
>>> Apache benchmark which makes 1000 concurrent requests, but around
>>> 1300. request script ends with SIGABRT and outputs:
>>>
>>> "Global garbage collection... done, heap grown"
>>> "Global garbage collection... done, heap grown"
>>> "Global garbage collection... done, heap grown"
>>> "Global garbage collection... done, heap grown"
>>> "Global garbage collection... done, heap grown"
>>> "Global garbage collection... done"
>>> "Global garbage collection... done"
>>> "Global garbage collection... done"
>>> "Global garbage collection... done"
>>> "Global garbage collection... done, heap compacted"
>>> "Global garbage collection... done"
>>> /var/www/httpd/./start.st:15: Aborted
>>> (ip 8)Set(HashedCollection)>>#findElementIndex:
>>> (ip 56)Set(HashedCollection)>>#rehashObjectsAfter:
>>> (ip 30)Set(HashedCollection)>>#remove:ifAbsent:
>>> (ip 26)Process(Object)>>#removeToBeFinalized
>>> (ip 4)Process>>#primTerminate
>>> (ip 4)[] in Process>>#onBlock:at:suspend:
>>> (ip 12)BlockClosure>>#ensure:
>>> (ip 6)[] in Process>>#onBlock:at:suspend:
>>> (ip 42)[] in BlockClosure>>#asContext:
>>> (ip 14)BlockContext class>>#fromClosure:parent:
>>> ./start: line 11: 18099 Unsuccessfully terminated (SIGABRT)        gst
>>> "$dir/start.st"
>>>
>>> (GST version is 3.2 stable or master, does not matter)
>>>
>>> What this actually mean? as far as I understand it can be something
>>> with GC? I can provide source code that causes this issue.
>>>
>>> Backtrace from GDB:
>>> #0  0x00007f47e83f8165 in raise () from /lib/libc.so.6
>>> #1  0x00007f47e83faf70 in abort () from /lib/libc.so.6
>>> #2  0x00007f47e90002ab in oldspace_sigsegv_handler (fault_address=0xb,
>>> serious=<value optimized out>) at oop.c:974
>>> #3  0x00007f47e81c4f3d in ?? () from /usr/lib/libsigsegv.so.0
>>> #4  <signal handler called>
>>> #5  _gst_find_class_method (class_oop=0xb, selector=0x7f6337b5f510) at
>>> dict.c:1422
>>> #6  0x00007f47e902bb80 in _gst_find_method (receiverClass=0xb,
>>> sendSelector=0x7f6337b5f510,
>>>    methodData=0x7f47e9296600) at interp.c:957
>>> #7  0x00007f47e903601b in lookup_method (sendSelector=0x7f6337b5f510,
>>> sendArgs=1, receiver=0x7f6337c984f0,
>>>    method_class=<value optimized out>) at interp.c:936
>>> #8  _gst_send_message_internal (sendSelector=0x7f6337b5f510,
>>> sendArgs=1, receiver=0x7f6337c984f0,
>>>    method_class=<value optimized out>) at interp-bc.inl:202
>>> #9  0x00007f47e904110a in _gst_interpret (processOOP=0x7f6337c5eed0)
>>> at vm.def:291
>>> #10 0x00007f47e9043108 in _gst_nvmsg_send (receiver=0x7f6337b5f000,
>>> sendSelector=0x7f6337c5ee40,
>>>    args=<value optimized out>, sendArgs=0) at interp.c:2344
>>> #11 0x00007f47e8ff3d8c in _gst_execute_statements (receiverOOP=<value
>>> optimized out>,
>>>    method=<value optimized out>, undeclared=<value optimized out>,
>>> quiet=<value optimized out>) at comp.c:583
>>> #12 0x00007f47e8fe2ea8 in execute_doit (p=0x7fffd93c5dc0, temps=0x0,
>>> stmts=0x25b4cd0, receiverOOP=0x7f6337b5f000,
>>>    undeclared=<value optimized out>, quiet=false) at gst-parse.c:605
>>> #13 0x00007f47e8fe8e12 in parse_doit (p=0x7fffd93c5dc0,
>>> fail_at_eof=<value optimized out>) at gst-parse.c:647
>>> #14 0x00007f47e8fe975c in parse_chunks (p=<value optimized out>) at
>>> gst-parse.c:487
>>> #15 0x00007f47e8fe9a90 in _gst_parse_chunks (currentNamespace=<value
>>> optimized out>) at gst-parse.c:462
>>> #16 0x00007f47e8fe9f93 in _gst_parse_stream (currentNamespace=0x0) at 
>>> lex.c:1208
>>> #17 0x00007f47e9017fce in _gst_process_file (fileName=<value optimized
>>> out>, dir=<value optimized out>)
>>>    at input.c:844
>>> #18 0x0000000000401794 in main (argc=<value optimized out>,
>>> argv=<value optimized out>) at main.c:401
>>>
>>> _______________________________________________
>>> help-smalltalk mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/help-smalltalk
>>>
>>
>

Attachment: http2.st
Description: Binary data


reply via email to

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