Itcl - the [incr Tcl] extension

Artifact [4df7f05a7e]
Login

Artifact 4df7f05a7e5bcd9af08d3efd7d97e5fb3b1db5f6:

Ticket change [4df7f05a7e] - New ticket [d07590ce7d] segfault with tailcall and coroutines and Itcl method calls. by dgp 2015-05-22 15:36:11.
D 2015-05-22T15:36:11.901
J foundin trunk
J icomment The\sother\sticket\swas\sgetting\stoo\smany\svariants,\sand\sthis\r\none\sis\sa\sclean\ssegfault:\r\n\r\npackage\srequire\sItcl\s4\r\nitcl::class\sjuggler\s{\r\n\s\s\s\svariable\sname\r\n\s\s\s\svariable\starget\r\n\s\s\s\sconstructor\s{_n\s_t}\s{\r\n\s\s\s\s\s\s\s\sset\sname\s$_n\r\n\s\s\s\s\s\s\s\sset\starget\s$_t\r\n\r\n\s\s\s\s\s\s\s\s::proc\stoss\sargs\s{\r\n\s\s\s\s\s\s\s\s\s\s\s\stailcall\smy\s{*}[info\slevel\s0]\r\n\s\s\s\s\s\s\s\s}\r\n\s\s\s\s}\r\n\s\s\s\smethod\stoss\s{{value\s""}}\s{\r\n\s\s\s\s\s\s\s\sif\s{[llength\s[info\slevel\s0]]\s==\s2}\s{\r\n\s\s\s\s\s\s\s\s\s\s\s\sset\svalue\s[yield\s[info\scoroutine]]\r\n\s\s\s\s\s\s\s\s}\r\n\s\s\s\s\s\s\s\sif\s{$value\sne\s""}\s{\r\nputs\s"$name\stoss\s$value\s--\s[namespace\scurrent]-[namespace\swhich\stoss]"\r\n\s\s\s\s\s\s\s\s\s\s\s\stoss\s$value\r\n\s\s\s\s\s\s\s\s}\r\n\s\s\s\s}\r\n}\r\n\r\ncoroutine\sj1\s[juggler\s#auto\sLarry\s[\r\ncoroutine\sj3\s[juggler\s#auto\sMoe\s{}]\stoss\s]]\stoss\sX\r\n\r\n\r\nResult:\r\nLarry\stoss\sX\s--\s::juggler-::juggler::\r\nmake:\s***\s[shell]\sSegmentation\sfault\r\n\r\n\r\n#0\s\s0x000000000054f21b\sin\sTclPushProcCallFrame\s(clientData=0x8b3d00,\s\r\n\s\s\s\sinterp=0x81f6e0,\sobjc=2,\sobjv=0x96ed90,\sisLambda=0)\r\n\s\s\s\sat\s/home/dgp/fossil/tcl/generic/tclProc.c:1598\r\n#1\s\s0x000000000054f40d\sin\sTclNRInterpProc\s(clientData=0x8b3d00,\s\r\n\s\s\s\sinterp=0x81f6e0,\sobjc=2,\sobjv=0x96ed90)\r\n\s\s\s\sat\s/home/dgp/fossil/tcl/generic/tclProc.c:1707\r\n#2\s\s0x0000000000414c40\sin\sDispatch\s(data=0x869ee8,\sinterp=0x81f6e0,\sresult=0)\r\n\s\s\s\sat\s/home/dgp/fossil/tcl/generic/tclBasic.c:4360\r\n#3\s\s0x0000000000414cce\sin\sTclNRRunCallbacks\s(interp=0x81f6e0,\sresult=0,\s\r\n\s\s\s\srootPtr=0x0)\sat\s/home/dgp/fossil/tcl/generic/tclBasic.c:4393\r\n#4\s\s0x000000000041442e\sin\sTcl_EvalObjv\s(interp=0x81f6e0,\sobjc=5,\s\r\n\s\s\s\sobjv=0x82cfe0,\sflags=2097168)\r\n\s\s\s\sat\s/home/dgp/fossil/tcl/generic/tclBasic.c:4123\r\n#5\s\s0x0000000000416be8\sin\sTclEvalEx\s(interp=0x81f6e0,\s\r\n\s\s\s\sscript=0x87e780\s"package\srequire\sItcl\s4\\n\r\n\r\n....\r\n(gdb)\sprint\s*procPtr->cmdPtr\r\nCannot\saccess\smemory\sat\saddress\s0x100000080
J login dgp
J mimetype text/x-fossil-plain
J severity Critical
J status Open
J title segfault\swith\stailcall\sand\scoroutines\sand\sItcl\smethod\scalls
J type Code_Defect
K d07590ce7dd0138ce43bdf4b22df558948030186
U dgp
Z 24b712157552d10515f68bffe12902d9