[bug] gst-remote aborts after executing code

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

[bug] gst-remote aborts after executing code

Sam Phillips
Issue status update for
http://smalltalk.gnu.org/node/177
Post a follow up:
http://smalltalk.gnu.org/project/comments/add/177

 Project:      GNU Smalltalk
 Version:      <none>
 Component:    Bindings: Sockets
 Category:     bug reports
 Priority:     normal
 Assigned to:  Unassigned
 Reported by:  sdp
 Updated by:   sdp
 Status:       active

After sending a single command packet to gst-remote the server process
aborts outside of the VM.


sam@osiris:~/projects/2008/02/gst/smalltalk-remote$ gst-remote --server
gst-remote server started.


In another terminal I run:


sam@osiris:~$ gst-remote -e '(3 + 4) displayNl.'
7


I get the same failure if I send a file as well.
In the server terminal I get the following error:


/usr/local/stow/gst/share/smalltalk/kernel/../scripts/Remote.st:218:
Attempt to pass an instance of UndefinedObject as a int
(ip 8)TCPSocketImpl(AbstractSocketImpl)>>#option:level:at:put:size:
(ip 28)TCPSocketImpl(AbstractSocketImpl)>>#optionAt:level:put:
(ip 16)[] in TCPSocketImpl>>#valueWithoutBuffering:
(ip 8)BlockClosure>>#ensure:
(ip 10) BlockClosure>>#on:do:
(ip 14)[] in UndefinedObject>>#executeStatements
(ip 2) BlockClosure>>#ensure:
(ip 18)[] in UndefinedObject>>#executeStatements
(ip 52)[] in Process>>#onBlock:at:suspend:
(ip 10) BlockClosure>>#on:do:
(ip 14)[] in Process>>#onBlock:at:suspend:
(ip 2) BlockClosure>>#ensure:
(ip 10)[] in Process>>#onBlock:at:suspend:
(ip 46)[] in BlockClosure>>#asContext:
(ip 14)BlockContext class>>#fromClosure:parent:
*** glibc detected *** gst-remote: free(): invalid pointer: 0x08152a8c
***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7d35d65]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7d39800]
/usr/local/stow/gst/lib/libgst.so.7[0xb7e7a91f]
/usr/local/stow/gst/lib/libgst.so.7[0xb7e85975]
======= Memory map: ========
08048000-0804a000 r-xp 00000000 08:04 1844424  
/usr/local/stow/gst/bin/gst-remote
0804a000-0804b000 rwxp 00002000 08:04 1844424  
/usr/local/stow/gst/bin/gst-remote
0804b000-0838e000 rwxp 0804b000 00:00 0          [heap]
40321000-40423000 rwxp 40321000 00:00 0
40423000-44321000 ---p 40423000 00:00 0
a7400000-a7421000 rwxp a7400000 00:00 0
a7421000-a7500000 ---p a7421000 00:00 0
a75ba000-a75c4000 r-xp 00000000 08:04 1093453    /lib/libgcc_s.so.1
a75c4000-a75c5000 rwxp 0000a000 08:04 1093453    /lib/libgcc_s.so.1
a75dd000-a770b000 r-xp 00000000 08:04 1093518    /lib/libc-2.6.1.so
a770b000-a770c000 r-xp 0012d000 08:04 1093518    /lib/libc-2.6.1.so
a770c000-a770e000 rwxp 0012e000 08:04 1093518    /lib/libc-2.6.1.so
a770e000-a7712000 rwxp a770e000 00:00 0
a7712000-a7716000 r-xp a7712000 00:00 0
a7716000-a7718000 rwxp a7716000 00:00 0
a7718000-a7721000 r-xp a7718000 00:00 0
a7721000-a7722000 rwxp a7721000 00:00 0
a7722000-a7733000 r-xp a7722000 00:00 0
a7733000-a7735000 rwxp a7733000 00:00 0
a7735000-a7740000 r-xp a7735000 00:00 0
a7740000-a7741000 rwxp a7740000 00:00 0
a7741000-a774e000 r-xp a7741000 00:00 0
a774e000-a774f000 rwxp a774e000 00:00 0
a774f000-a7752000 r-xp a774f000 00:00 0
a7752000-a7753000 rwxp a7752000 00:00 0
a7753000-a7759000 r-xp a7753000 00:00 0
a7759000-a775a000 rwxp a7759000 00:00 0
a775a000-a7762000 r-xp a775a000 00:00 0
a7762000-a7764000 rwxp a7762000 00:00 0
a7764000-a7765000 r-xp a7764000 00:00 0
a7765000-a7766000 rwxp a7765000 00:00 0
a7766000-a7767000 r-xp a7766000 00:00 0
a7767000-a7768000 rwxp a7767000 00:00 0
a7768000-a776d000 r-xp a7768000 00:00 0
a776d000-a7771000 rwxp a776d000 00:00 0
a7771000-a7772000 r-xp a7771000 00:00 0
a7772000-a7776000 rwxp a7772000 00:00 0
a7776000-a7777000 r-xp a7776000 00:00 0
a7777000-a7778000 rwxp a7777000 00:00 0
a7778000-a777a000 r-xp a7778000 00:00 0
a777a000-a777b000 rwxp a777a000 00:00 0
a777b000-a777f000 r-xp a777b000 00:00 0
a777f000-a7780000 rwxp a777f000 00:00 0
a7780000-a7782000 r-xp a7780000 00:00 0
a7782000-a7784000 rwxp a7782000 00:00 0
a7784000-a7785000 r-xp a7784000 00:00 0
a7785000-a7789000 rwxp a7785000 00:00 0
a7789000-a7790000 r-xp a7789000 00:00 0
a7790000-a7792000 rwxp a7790000 00:00 0
a7792000-a7793000 r-xp a7792000 00:00 0
a7793000-a7794000 rwxp a7793000 00:00 0
a7794000-a779a000 r-xp a7794000 00:00 0
a779a000-a779b000 rwxp a779a000 00:00 0
a779b000-a779c000 r-xp a779b000 00:00 0
a779c000-a77b2000 rwxp a779c000 00:00 0
a77b2000-b7711000 ---p a77b2000 00:00 0
b7711000-b7a54000 rwxp b7711000 00:00 0
b7a54000-b7ab5000 r-xp 00000000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ab5000-b7ab8000 rwxp 00061000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ab8000-b7aba000 rwxp 00064000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7aba000-b7abf000 r-xp 00066000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7abf000-b7ac1000 rwxp 0006b000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac1000-b7ac2000 r-xp 0006d000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac2000-b7ac3000 rwxp 0006e000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac3000-b7ac5000 r-xp 0006f000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac5000-b7ac6000 r-xp 00071000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac6000-b7ac7000 r-xp 00072000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac7000-b7ac9000 rwxp 00073000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7ac9000-b7acb000 rwxp 00075000 08:04 1845684  
/usr/local/stow/gst/var/lib/smalltalk/gst.im
b7acb000-b7acc000 r-xp 00077000 08:04 1845684  
/usr/local/stow/gst/va/usr/local/stow/gst/share/smalltalk/kernel/../scripts/Remote.st:218:
Aborted
/usr/local/stow/gst/share/smalltalk/kernel/../scripts/Remote.st:218:
Error occurred while not in byte code interpreter!!
Aborted (core dumped)





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

Re: [bug] gst-remote aborts after executing code

Paolo Bonzini-3
Issue status update for
http://smalltalk.gnu.org/project/issue/177
Post a follow up:
http://smalltalk.gnu.org/project/comments/add/177

 Project:      GNU Smalltalk
 Version:      <none>
 Component:    Bindings: Sockets
 Category:     bug reports
 Priority:     normal
 Assigned to:  Unassigned
 Reported by:  sdp
 Updated by:   bonzinip
 Status:       active

can you identify (e.g. with strace) the tcp-SOMETHING.so file that is
loaded, and run `nm' on it?  and also run remotely (since it does work
more or less)

   TCP.TCPSocketImpl ipprotoTcp printNl
   TCP.TCPSocketImpl tcpNodelay printNl

Thanks!




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

Re: [bug] gst-remote aborts after executing code

Paolo Bonzini-3
In reply to this post by Sam Phillips
Issue status update for
http://smalltalk.gnu.org/project/issue/177
Post a follow up:
http://smalltalk.gnu.org/project/comments/add/177

 Project:      GNU Smalltalk
 Version:      <none>
 Component:    Bindings: Sockets
 Category:     bug reports
 Priority:     normal
 Assigned to:  Unassigned
 Reported by:  sdp
 Updated by:   bonzinip
-Status:       active
+Status:       fixed
 Attachment:   http://smalltalk.gnu.org/files/issues/gst-177.patch (0 bytes)

It's a race condition between closing the socket and resetting
TCP_NODELAY.  Fixed by looking at "self fd" before passing it blindly
to C call-outs.

Committed to master (together with some more gst-remote fixes,
including not stealing Postgres' port) and stable-3.0.




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

Re: [bug] gst-remote aborts after executing code

Sam Phillips
In reply to this post by Sam Phillips
Issue status update for
http://smalltalk.gnu.org/project/issue/177
Post a follow up:
http://smalltalk.gnu.org/project/comments/add/177

 Project:      GNU Smalltalk
 Version:      <none>
 Component:    Bindings: Sockets
 Category:     bug reports
 Priority:     normal
 Assigned to:  Unassigned
 Reported by:  sdp
 Updated by:   sdp
 Status:       fixed

Great.  I was going to file another bug about the port choice, but since
it is fixed no need.

Thanks Paolo.




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