#20 KILLBYSIGSINFO1 from large socket reads

closed-fixed
nobody
None
5
2014-07-11
2001-07-06
Bob Isch
No

The following sample code will demonstrate the Signal-11 problem discussed in the Help forum.
Just put this into ipbug.m and execute "d ^ipbug" from direct mode and you should get something
like:

GT.M V4.2-002 Linux x86
Waiting...
Connection: CONNECT|h9944605720|127.0.0.1
%GTM-F-KILLBYSIGSINFO1, GT.M process 1891 has been killed by a signal 11 at address 0x808C801
(vaddr 0x20202040)

enjoy,
-bi

ipbug ; Demonstrate bug with large reads

bugsv ; Server side...
;
w !,$zversion
;
s dev="FOO"
s delims=$g(delims,$c(13,10))
s port=$g(port,20850)
;
; --- Open device
;
s to=8
s id="listener"
o dev:(zlisten=port_":TCP":delimiter=delims:attach=id):to:"SOCKET"
i '$t w 0/0
;
job bugcl ; Start client...
w !,"Waiting..."
;
; --- Start listening
;
u dev
w /listen(1) ; Note: $KEY = "LISTENING|<id>socket_handle|portnumber"
;
; --- Wait for connection:
;
f d q:k'=""
. w /wait(to)
. s k=$key
; Note: $KEY - "CONNECT|socket_handle|remote_ipaddress"
s handle=$p(k,"|",2)
;
c dev:(socket=id) ; to close listen socket if not needed (another job can use listen on it
now)
;
u ""
w !,"Connection: ",k
;
s to=15
;
u dev:(socket=handle)
;
r rs:to ; **** SIG-11 Happens Here
;
s tofg='$t
i 'to s tofg=($key="") ; zero timeout does not set $t to 0?
s dvfg=$device
s k=$key ; s.b. non-""
u ""
w !,"Read: ",$l(rs)
s rs=rs_k ; Probably want to remove at some point?
;
q ; >>> bugsv

bugcl ; Client bug
;
hang 3
;
s host="localhost"
s port=$g(port,20850)
s dev="FOO$CL"
s to=8
s id="client"
s delims=$g(delims,$c(13,10))
o dev:(connect=host_":"_port_":TCP":delimiter=delims:attach=id):to:"SOCKET"
i '$t w 0/0
u dev
s k=$key
s hand=$p(k,"|",2)
;...
u dev:(socket=hand)
;
; --- send large bunch of data:
;
w $j("",31000),$j("",31000),$j("",31000),!
;w $j("",31000),$j("",31000),!
;
hang 5 ; simulate wait for server
;
q ; >>> bugcl

Discussion

  • George James

    George James - 2001-07-25

    Logged In: YES
    user_id=84386

    Bob
    I've encountered a similar problem but with terminal I/O
    rather than socket I/O. I'm sure this is related but I've
    not seen anyone mention it, so here are the details:

    %GTM-F-KILLBYSIGSINFO1 GT.M process 1461 has been killed by
    a signal 11 at address 0x807E337 (vaddr 0xFFFFFFFC).

    This occurs with GT.M 4.2-002 on RH Linux 6.1 (Kernel
    2.2.12-20) when running ^%G and interrupting it using Ctrl-
    C.

    Let me know if you need more info...
    George

     
  • Sam Weiner

    Sam Weiner - 2012-04-04
    • status: open --> closed-fixed
     
  • Sam Weiner

    Sam Weiner - 2012-04-04

    FYI, this problem was fixed in version V4.3-000. Sorry for not checking before now.

    Sam

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks