Hi,
I'm playing with my HTTP server in GST and it still ends with SIGABRT. There is small reproduce script: PackageLoader fileInPackage: #Sockets. Eval [ | connections | 5 timesRepeat: [ connections := Set new. 1000 timesRepeat: [ connections add: (Sockets.Socket remote: '127.0.0.1' port: 80)]. connections do: [ :connection | connection close] ] ] fails with: test.st:14: Aborted test.st:14: Aborted (ip 28)WeakIdentitySet>>#findIndex: (ip 6)WeakIdentitySet(WeakSet)>>#add: (ip 8)TCPSocketImpl(FileDescriptor)>>#addToBeFinalized (ip 6)TCPSocketImpl(FileDescriptor)>>#initialize (ip 14)TCPSocketImpl class(FileDescriptor class)>>#on: (ip 30)TCPSocketImpl class(AbstractSocketImpl class)>>#newFor: (ip 8)Socket class(AbstractSocket class)>>#new:addressClass: (ip 12)IPAddress class(SocketAddress class)>>#newSocket: (ip 66)Socket class(StreamSocket class)>>#remote:port:local:port: (ip 20)Socket class(StreamSocket class)>>#remote:port: (ip 46)UndefinedObject>>#executeStatements (ip 0)<bottom> Aborted or sometimes: (ip 24)Set>>#findIndex: (ip 12)Set(HashedCollection)>>#add: (ip 28)TCPSocketImpl(Object)>>#addToBeFinalized (ip 14)TCPSocketImpl(FileDescriptor)>>#addToBeFinalized (ip 6)TCPSocketImpl(FileDescriptor)>>#initialize (ip 14)TCPSocketImpl class(FileDescriptor class)>>#on: (ip 30)TCPSocketImpl class(AbstractSocketImpl class)>>#newFor: (ip 8)Socket class(AbstractSocket class)>>#new:addressClass: (ip 12)IPAddress class(SocketAddress class)>>#newSocket: (ip 66)Socket class(StreamSocket class)>>#remote:port:local:port: (ip 20)Socket class(StreamSocket class)>>#remote:port: (ip 46)UndefinedObject>>#executeStatements (ip 0)<bottom> Aborted is that correct? 5 * 1000 connections is too much? Ladislav _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
On Sun, Oct 16, 2011 at 22:06, Ladislav Marek <[hidden email]> wrote:
> Hi, > > I'm playing with my HTTP server in GST and it still ends with SIGABRT. Can you put a pointer to the server code? > is that correct? 5 * 1000 connections is too much? Still shouldn't abort. Paolo _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
On Sun, Oct 16, 2011 at 22:11, Paolo Bonzini <[hidden email]> wrote:
> Can you put a pointer to the server code? It is attached in http://forum.world.st/Bug-in-GC-cuasing-SIGABRT-tt3680625.html. I can provide newer version… but Swazoo performs better. > >> is that correct? 5 * 1000 connections is too much? aha > > Still shouldn't abort. > > Paolo > _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
I have tried mentioned script on different machine and I have to
change 5 timesRepeat to 10 timesRepeat to reproduce that SIGABRT. I think it can be related to GC and weak collections, there is another script which causes SIGABRT: weakSet := WeakSet new. weakSet2 := WeakSet new. 80000 timesRepeat: [ obj := Object new. weakSet add: obj. weakSet2 add: obj. obj := nil. ]. output: (ip 32)WeakSet(HashedCollection)>>#rehashObjectsAfter: (ip 30)WeakSet(HashedCollection)>>#remove:ifAbsent: (ip 10)WeakSet(Collection)>>#mourn: (ip 12)WeakSet>>#mourn: (ip 8)HomedAssociation>>#mourn (ip 2)[] in ProcessorScheduler>>#startFinalizers (ip 26)Array(SequenceableCollection)>>#do: (ip 4)[] in ProcessorScheduler>>#startFinalizers (ip 4)[] in BlockClosure>>#newProcessWith: (ip 48)[] in Process>>#onBlock:at:suspend: (ip 12)<unwind> BlockClosure>>#on:do: (ip 10)[] in Process>>#onBlock:at:suspend: (ip 6)<unwind> BlockClosure>>#ensure: (ip 6)[] in Process>>#onBlock:at:suspend: (ip 42)[] in BlockClosure>>#asContext: (ip 14)BlockContext class>>#fromClosure:parent: Ladislav On Sun, Oct 16, 2011 at 22:21, Ladislav Marek <[hidden email]> wrote: > On Sun, Oct 16, 2011 at 22:11, Paolo Bonzini <[hidden email]> wrote: >> Can you put a pointer to the server code? > > It is attached in > http://forum.world.st/Bug-in-GC-cuasing-SIGABRT-tt3680625.html. I can > provide newer version… but Swazoo performs better. > >> >>> is that correct? 5 * 1000 connections is too much? > > aha > >> >> Still shouldn't abort. >> >> Paolo >> > _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
It is caused by this patch:
commit c51f7d2165c8e811aeddfba633a9dc7a49852b99 Author: Gwenael Casaccio <[hidden email]> Date: Wed May 18 23:19:47 2011 +0200 do not automatically tenure large objects libgst: 2011-05-18 Gwenael Casaccio <[hidden email]> * libgst/gstpriv.h: Fix documentation of F_FIXED. * libgst/oop.c: Implement fixed young objects. I'll revert it for now. Paolo _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
Thanks.
On Fri, Oct 21, 2011 at 12:00, Paolo Bonzini <[hidden email]> wrote: > It is caused by this patch: > > commit c51f7d2165c8e811aeddfba633a9dc7a49852b99 > Author: Gwenael Casaccio <[hidden email]> > Date: Wed May 18 23:19:47 2011 +0200 > > do not automatically tenure large objects > > libgst: > 2011-05-18 Gwenael Casaccio <[hidden email]> > > * libgst/gstpriv.h: Fix documentation of F_FIXED. > * libgst/oop.c: Implement fixed young objects. > > I'll revert it for now. > > Paolo > _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
Free forum by Nabble | Edit this page |