Steps to reproduce:
1. Compile 2 modules below.
2. Execute "A.Open". New empty window will open.
3. Execute "A.Run". 16 moving black circles will be added to window. Each black circle is processed in separate coroutine.
4. Unload module A.
5. Repeat 2-4 several times.
6. 3 error patterns appear. First is silent process termination. Second is freezing forever with 100% main thread load. Third is Endless trap window attached.
This bug is probably caused by deleting Kernel.Coroutine object by garbage collector causing dangling pointers Coroutine.prev/next in coroutine list anchored in Kernel.currentCoroutine. Crash is probably caused by accessing dangling pointer c.next in Kernel.MarkReferencedCoroutines.
Bug can be fixed by adding finalizer to Kernel.Coroutine:
Code: Select all
PROCEDURE (c: Coroutine) FINALIZE-;
BEGIN
IF c.next # NIL THEN RemoveCoroutine(c) END;
END FINALIZE;
Test module
Code: Select all
StdCoder.Decode ..,, ..GV,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
7.2.s,spj.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sIdvPZntgcghghZ
cZRC8T0E.kGS,H.vs32.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.wsK.,
sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.XC3w,AtIE.0.4Eh5.86.QC18RdfQHfMf9R9v
Q7ONb17.,.X,,6.I16.M.,.JFyuv.U.2m,.Zuzzzz0,0EwHzzzz.8Mtr.2.872.e,2.A.c8.2U
wK.6yzzzzLdyzzBUuzzzzz.Ivyzzzv.6.tzzzzzS..K.Ipyzzzf.EyV5.Fzzzzz8.YTs,E2vzz
zz.OzzzzzZjyzzz5U.E.evC9U0Kb0cUXDF9fR5uPPPP1fP7PNZvQRtIdHf.2UlbcZpC.c9h0E.
8z,U.EEE.E1U.M3cwzzzzL.6.p3Umr,6.222.o.6.K,GzzzzzV.IL..0.,,,.B.0UJUkzzzzT6
.p3.U...B.0UJUKyzzzzzjd.yd.ac.ie.ad.ic.4Y.Cc.Sb.iV.CV.Cd.id.4e.yd.Ke.ae.4Y
.Se.4Y.Kb.ib.4Y.S8n8Ub8Ud8U98UP8UN7U,7UL8U99UZ9UR9U99UN9UN7U,la0ME0MR.Pmk0
Mu0Mo0MK06bmm06h9UH9U59U99Ub9UN7U,lV0sr0Mt0sr0su0Mu0so0Mr0smQCEc0sr0MtYi.S
i.a3oe.Ch.ig.yi.Si.a3Ic.aZUIeUIbx2YDJgsJeVphYxhhZZ.4Y.ad.yh.yg.4Y.mSkdYi.a
g.ad.0r7UP.P6UHEe0sg0Mc0sW0s406H6U18U59Ud9UHnr0Mr0ME0sS0ME28TmY0Mb0Me0sWIe
.4Y.ae.yd.4Y.Ke.ic.Sc.yd.K878U,7UF7Ub8U9Ht.5nmQCR7U18U5Hu.AZ.iV.m2kl0MR0ME
0sV.T1ErkR06A,98UR8U78Ur7UP.P.HkV0sr..EE0sSEckYEe.Y8221GV0sd0MeIe.Cc.Sc.ae
.42ZmWkb.,FIQc.0..b158UT1..H7UP.H.19U59UdHR0MEA651HnrkR0s4k2g6Y6r,g,A,5mr.
.R1X7U,7Uv,V0H0d0EeEEI8kb.,,...HFE0Mr0sm2j.ai.K5Q6..kMQb.4Y.yh.Kb.GVoZ.yd.
Kg.Kh.ig.Sg.mR0MEoi.4j.aZ.8Uhnw0MR0MEAd.q7kX0sW0MdkW0MbY6rl4k4Ef0sU0Md0s40
s2A,h9UHnmER0MEI6oe.CBkR06A,5nr06N8UH9Ub9Ud9Up,50wB.R1X,P.P.V8UZ8UT8U58U98
U78UfGd0sW22Flk0MR0610dnowBA3,FW0sr0sR06Ic.ic.y6H8UgV.m2Q6T1.oBQCRFe0Mt0sk
0Mr0st0Mn0sm0Mt2Z.CAR7U59UH7Ur7UkWEW2270.Pk22e.0..,lg0so0smYB79Ur7Uk2o8EEQ
g.K5Q6..gAb150..Q5EVkX.P.Hkl2Y.K5v,50..QCQAf9UZ9UZ9U99UR9Ud9Ur,A,j8UH8UdGY
0ME0sl..Eu.9HEY6T8UP6UA,Qe.iAZHvklgAb178UTHa0sk0Mugg.KCFll0ML0sk0slYCN7U0s
dEtoCkmQCoh.yh.yi.CZ.0A,Q6.f1H1QCY8ErQCEt2350..9ntkq0sk0so0MrA3r,A,907mR..
,lgkm..Pk22e.0.kW22j8U19UHHu0se0Mr0MuABN9U,FIYi.CB5np0st0MR0MEY7T8UR8UD8UH
GbY8H7Ur,A,h0225HRkV..HHrgAkV...r,I6w6k4k2QA,,kV...b151ZHtErYCr,A,j0d0QA..
YCkm2270P.H.b0ZHv.9ntEWwB.91Fllo31nlYC6Ud9UQAL1H7U.H.50.ABR1b1dGtErQCEtkV.
.kmQCgBErA3.HkWEWQ5.EEw8Eug8YCHHqQb.0Pk22e.0.I89GEA7R9UH9UdnV06.ABRnm22Fll
I5,,..kIQ5EVkXEbg,A,RmW0sf0MI0slo31nlYCH7U2251.R7U5HEI5klQb.0HkV...b1H8URn
oEI06H,P.9070H0kV..H19nR.Pk22e.0..,FIER...kMAZ.42Zmu0Mr0sR.HEf.,lv0MK0c.4h
.Kb.42HGbY89mXg6ZmR0ME2j.a3Aj.K5...P.30DmYk4k2Yd.y7T8UV8UP6UHk2EvkmwCR7U5n
roBdnm2Do3D8U99Ud9Ub8UH9Up9U99UF7Uj9UEoAZ.0A,2j.4Y.K5v,5HLwBR7Ul9Ur7U,lw2Y
.K5klkrkw0sR06A,A7RmV0MI0Mw06QAoi.4DH7U22H0kw0MK06.nnI0sRg,A,A7B8U,7UFFI0M
w22t7U,7UV7UH7U,FH0ME06512D,FSEMkI0MEwd.K8,,FFwET0sS06jnI22B,QA.EE0MM.Y8Fm
W0Mb2Y.SA.I5v,P7U59UR,kWEWQ5P.H.H023Flw22tV.4422B,QAkw22t,kIkb.23n1xlSEoEE
o2kl.ET22V,H,d0EEQA.I5v,P,.g6Y6.H.h1.b8U91V8UTnt0MI0slkrYZ.GwY3ADHlR.H.jmk
.fGrYCHHq2Z.S89HtoCHnlgAb1dmo0slQBkI22L7U,7Ub0Z1kmQCIi.mtwh.ah.ii.aCHnrEEY
6H8UhGE0sN0MM0sIQ5k2g6..EEI8kR.Pk22e.mb.70ZmW22TGs0sm0MrIZ.Sb.030D0g,A,h19
1,7Up,I6od.ig.yCF7U.A,hmo.bHLw7V1A6f9Ul9UF7Uh9UH1Y3IY.yd.KAklYCbHF0sI06kWE
Wkb.Q5k4A,V8UkV..,FdgCI3.HEfA6ZGEAh.Kb.mYo7dmWw69GdQ5,llI5,lVEtku.RnmA4rFE
2D6UnHREdg618UN8Ur7U,lvY32BpFEA7..g,I6w6H0P.Hko0MEI5v,VlR06jGY0sY0Mag6,lo2
2tV.Ca.qa.4Y.a6Tm4k2Ebg6jGIQAHlRg,A,A7RnoYC50.ABRnm2351.H.PGL0sdABRnVwBbHI
gd.q3V8UH9UF7UHFJ0MI8HJ8J.vG.LJraKnyKtqKI0sI2Yh2YlAZg2kUMSm0WbdsCU7UXd9Obs
VuMDsIWI.zI.9ZI78,QF,gHGZ73k3dIWG.9H.fG.1J.zam7RCbi6Q,wP,QO,Yod8,AS,YfUkc9
,QB,Q8,Q8i1M0sMcRa5e1sI.68.a2..85C505a4c8aL.t8.UdsCU7UXVj76,gCUqVZViMGsQKK
.9bo78a0U7Uq,UXVi7RKas7RsF6RCZddSUr,Wad.M06S0Wu.SLJ8J.v0oA..H.n9U,FR.Ff8Z8
UR,..M0cR.sIK403C5CaisPm0CZ6,68K2MG,26S0WfUkUpUd69,YH,Uc.MG.abUs8.UdUv.a.C
4uaZ7SGbU2ku.CajdQm2CbotC2kX,.66.sCU7UHVmdRaaXNNCbi6FyaA,Kam78CaiMM6Rm0CZZ
dQO5MNC5uajtR.M0aYCtEWWd3kd66,QF6FiXBU3dH668ZpVv.qU76I,YD,G2MF0W17P,QN,QM,
gQ,g8i1M0O366Cau66CYjVjNRMOuaZNA.82S2M1M0SZ6NGm20WXtP6HsQGbUs6,A6uI.bI.nYU
2k2VBU7UX76e1..Uv66C4.UUcC...uWiNNW5iXBU7UHVmdRUZtQuWG3kZ3kh3kj3kq3kZ3k,3k
X7RaajdPWG.d944M8.a.O5K4cIMPcR68C4yad2EU7MF6Fi1.66CYg,sC,2qU13kA3kDtI,QF,A
6C2.U33EU,d9,Q1,Q1,g.18URlb2i.Grg,3.8Zp,.5Gqkkk40cW2k13kjVjNRUiNNC5CYg,uap
3kk3kv66i28biVgd9,wEyag7P,QNC4i1....UW2kB2k0CyIV1xhiZimxhgZhZJinpZHlVGLtmK
WKqtCK.4Te..c95uPR9R.7ONbvM,kVkk.Um,..Unp3.6F6.ZD,6.636.M00U.2..AU0CyIhA8p
umqm8rtumdcIf9PY62Ulb8.CLL8pumqmY62UmT.0U.kJl16.53,6.C6.QiiQ8CJuaLqKKWKqt2
Ul1.RVtZBE.8z1U..2,0Eh2.0.32.oZ,ZC.G20U2U...G00k.0.0.0mFf32Uwpr,sbTX,U,U.2
.8Mtr.2..c4E.k.Ue6T6.2UEC.6..mEw71s1D6Kmk1Sn.8ssHorMPU1xB..8V.E..U6U..N6.2
Uohfn76Dtc0MyfU.az86x,9O0OJWd..sF,...
--- end of encoding ---
Code: Select all
StdCoder.Decode ..,, ..bN,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
7.2.s,6vf.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
NbXmb.2.IbJk2ENK,,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.YvIU.
sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.Bj2w,ovGE.2.4EM5.86.QC18RdfQHfMf9R9v
Q7ONb17.,.D,,6.I16.M.,U.I3tfj1.0E65.IhzzzzDU0KyB.,UC1,UO.,.1.e0.,6j3.Wzzzz
zJjzzzz9xzzzzLEzzzzz.uzzzzz1ExzzzB.6.3czzzz16x6.Vizzzz1.2qzzzzDUoX.ovyzzz1
YUzzT1cwzzzzLvyzzzj4.Nzzzzz,s,EtvzzzT.4.ogxzzzDUazzzHtmzzzz.ezzzzzJlzzT16x
EZzzzdw6.Nwzzzz0.,civg.8MR8U0Cy2hgqRcjhhhBgiZgZJinpZHZCh0E.4TWKKv.Uio8.,cw
5.0.,,,.B.0UJUAzzz10ER,cwR.0..o.6.K,8wzzjzjd.yd.ac.ie.ad.ic.4Y.Kc.Sb.iV.CV
.Cd.id.4e.yd.Ke.ae.4Y.Se.ai.yh.Ki.ig.Si.aZ.4Y.4e.yh.Gu0st0MKEf0so0sm0sv0st
0MKkV0sr0Mr0Mu0Mt0sr0Mq0Mq0sm0Mt0st0MKEcIi.Gs0sm06dno0smQCr7UP.P6UHEe0sg0M
c0sW0s406H6Uh8UH1jHJ0ME0sS0ME0Mcw7H8UR8Ud8U98UZ8U,7Ud8UT8U,7UZ8U98U58UT8UZ
GW0ME0MI0Mf06ktoZ.qe.CBkI0s406H.d9UZnk0so0Mq0smER0ME0sb0Ml0Mp0sm0sl0Mu0sR0
s4k2gc.qd.ac.Sb.0Hk4k2wd.KA.IZ.42v,kYEe.Y822..P6UHk2Es0Mt0smoi.aZ.42R9U99U
l9Ud9Up7U,lbIAklkR.H.l9UP7UN7U,lw0sK0MR0MEAd.q7kX0sW0MdQb.0HkWEWQ5k4Ec0Md0
sb0sV0sW0MW0seIe.i6,lYoh.Ch.ai.qe.mmEE0MIoi.Kb.Gf.A3r7UP.38U98UDmY06P6UHk2
o798Uj8UF7UhHL0MuIC11.H7Ur,A,h9UR,..R7UV9UZnmoC,7Up7Uv7U,Fv06d111.r7U,7Uh1
..o3R9U9HwYC,7Up,.d1.kRg,g6Y6,lY.d1gAQb.0Pk22e.0..,FZ0sr0so0Mr0ME0MIAg.aZ.
Gl0MR06T0klkI0sR.30D0g,A,19UR7UR1l1I56U3nR0MEIAR7UV19HvER.19Ur7UkWEWEZwBkR
0s4k4A,V8U..EE23hHREf.A3,7UH0b9U99UZHuI3,FIAZ.Kb.mb.QAYZ.42R8U9mfQb.0HEfAc
.Ke.42T9Up7U,lb..r,I6w6k4k2o79mf23T9UH7Ur,A,T9UR7Ul9U,7Up,0MM0sR0ME0sro3n9
U,7Up,24g,A,J8UT12Z.yBN7U0Mvo3dHtAA.o3R1l1HlR.HEZ.EvEu..YZ.mrA3.HEfABktke0
Ms0Mm0sk0Mu0sm0MI0MvY3oc.Cc.ad.Se.ic.CZ.S5k2Ie.i6d8Uf8Uod.4Y.yBr7UkWEWkYkt
.dnR.Pk22e.0EW.9GE23hHREf.A3,Fdgg.ih.yh.qi.ig.KZ.42FlrI5,lb.QAA3N7U0MbkfQ5
EVkX.P.HEZ.23THL2CgAhHKkrErEw.r,A,THL2CEv22p,o7H8UN8Ur7U,,oB2D22p,.k4k2o8.
b1f0..N,B0Q8A3.9070Z0P1h1r7Uk4A,V8Uw7EW.22FFvI5o8.H,bmm0Mu0Mc0srQi.KZ.GIwB
pFEw7.51rFE2j.aZ.8UnHR06HGbY8kWI8H7UN,RmWw8.30DmYk4k2wBRFwER.lnR06THLADI5k
wQb.0HEf.QCRle.km.N,B0kWA3.9070bmmEcktQ5k4A,V8U.Y6kW22FFvI5o8.H,ZmmQCd9UTH
tgAJ,FFn0MR06h0kto3B8UZ9U1nq0sm0sR22N9UN7UYi.a3Ii.a3IAp,H0d0g6ZmIQ5P.HkV06
R8Ub8Ud8U,FtYg.4Y.i5Ya.K3V8UT1dnto3Vnr0soEuQ5PU7oe,JeUwh.K5,lb.QAQ5aEVKoXa
IbqE.bE.bUj76,gCUqd9cQ4ad,8bicP6SsC0G.TJ.XI.bI.nY376yaUs6,A6,gR6R..0G.HI.z
I.rE.3k7Ua3ki2k23km3ESL.zI.PL.5K.nK.XG.zai6SM9,A6,gQGag2E,wPMSM9cQ.UsVf2kU
2km,sPMSs8.UEVmVnVa3kd3kg7PUkM8,2,Y7sPcCUjd9u4UUMF,gHGYvM1H6U98UEEI8QCwBZn
mQ506Pk22e.mb.70g623hHREfkmwCH,50V9Un9UB8UZnrgh.Se.Ch.ih.4i.ah.iAh8U.P7U,F
IQi.Ki.Sg.Kb.42.QCo8.HlR.30DmYk4k2A7RnoYCh091F7UhnI06kWEWkVEs06....kR.Pk22
e.0..,,hHR..HFEg6l9UgAZHr0sk06H9Up9U99UP7U,FIo81Gd22j9UZ9Up,bGu.9nto3j8UZ9
UH9UdnmkI.I6w6k4kWEWkW.Er..r,g,HEc06..9GEEv.hmogA.HGrYC91..P,FFfA622Z1p7U,
ld.gAb1Z8U9nk0Mm0sm06H,EVkX.P.HkYkoYChmogA23A3.9070H0d1oB.kR.Pk22e.0.kW22o
Cp,h0kIEY0sk0Mr0Mm0Mq0658Ud9UZHq0sa0st0sn0MJ0ME23B1o8.b1B01nqgArFEo810,lq0
st06p7UQ6oBICTHq.Znto3P8U99Ubnt0sk0sn0sm0sR..B9UT9U59Uf9Ub9Up7Uo8H1j1RFf.A
3rl4EVkX.P.9070F0.Q6Eq.DnR06g,HEc06..9GE23h1..,FY..V8UZnr2i.id.0P7U23hmUEE
gBEREcICkmICdnogAbHLg7ktAAkI06EVkX.P.Hkf0sY0Me2d.iV.m2Yj.4Y.iBwA....Rld0so
ID28gAB9U,7U70k2kYoc.4Y.iBwAR7Uj9U,lSEfABwCbHLgi.qh.mmoAHHrgA79U,Fe2798UR0
A,kq0st.j1plSkN0MN0MM0MJ0Mc.dnto3V1HHrYCr,A,kq.2h.4Y.K5EN0MO0MM0MJ.Z1b1V1H
1Q5k2kWEWQ5k2YD0sq.p,V0T1ICABQCRFdktAh.KD28gABHEY6.H.P1DHL2BTHtoc.Ch.aCd8U
T9Uj8UH9URHEI5v,dGd0se0sW0sR06A,gB.h9U9Hto6.T1..I8.k2g6N8UbmWg,Hk2g6R0..,F
YAAYAN1V0T1P0Q5k4Ec0Mdw7EW.9GEo799UjHJEIA3p,h09nvQ5k2o810,Fv.h0.EVkXEbg,A,
RmWw8F,H,,7UH0HHuo8gA23.P.HEdg6dmeEbEvQb.09070R0Q5k4A,V8U..g6,FWgg.4i.yBbn
oYCJlR06I6w6k4k2o8H1QCRFWgA.H1F7UR8UEIA3H7U.907GEY6..r,g,98U.3GL0s40s40M,8
G.9I.vW2NN..0G.DZo7N,wE,QP,AN,wQ,YD3kk3kZdP,g6,Q1,g..Es.....V8U19Ub9Udnmo8
.37UPE,5TekVyKrGLtyKqmqm8rtumdsEdfQN9F9vQ59.XDJ..oZ1xhiZCU2hgnRg.sEMM.Et..
.ktu0.Y62Umb.2.Y02.A,,E.0..4E,5TeK4ZORNPNZvQRtIIepZBG20ksH3.bf9ZORNPNG20Et
D.,E.ses,sc6.,k,,UnpZHldGrwmqmGomCb.AS.c9Ajg,0EtT.,E..W.,cK0.,U00.umUG5.70
,E0E...7,,M.,.,.,tcp00Eyuv.wnj7.1.1.,6.Ikmj,6..EBU.U,.J,2.0E65.2..N6yY,YxJ
B939PTL,5TWy4P1bnVy4..ZE.6..E2E.UA2U.6.dPLbHESmF3kwL,,AzJEu1Ko2oe2H.rl,...
--- end of encoding ---