Date: Wed, 20 Dec 2000 16:08:25 -0500 From: "Greg Thompson" <johnnyteardrop@hotmail.com> To: freebsd-stable@freebsd.org Subject: segv w/ c++ exceptions in a threaded app Message-ID: <F1165VFFy8PJI5RxGwI000054dd@hotmail.com>
next in thread | raw e-mail | index | archive | help
-stable gang, i'm experiencing two things that have probably been seen by others. the first is a segfault in this bit of (?unwinding?) code that is executed in certain methods: leal 4(%edi),%edx movl (%edx),%eax addl $4,%eax movl (%eax),%edx movl (%edx),%ecx movl %ecx,(%eax) edx ends up being zero, so the second to the last instruction blows it. the second (possibly related) is that exceptions are jumping thread boundaries. an exception thrown in thread A magically appears in thread B. enclosed is a test program that suffers from both of these. just make it and execute it a bunch of times. you'll see three or four different things depending on what causes death first: these two mean an exception warped from one thread to another: $ ./testex B catches Z Abort trap (core dumped) or: $ ./testex A catches Y Abort trap (core dumped) this means that unexpected() was called by the runtime: $ ./testex unexpected exception thrown Abort trap (core dumped) and this means that the bit of unwinding code up above blew it: $ ./testex Segmentation fault (core dumped) are these problems well known? are fixes in the works? this problem is shutting me down. yikes. thanks. begin 644 testex.tar.gz M'XL(`)0<03H"`^U8ZT_;2!#G:_:OF*,GZJ00DA2*%`I2*'U)T*MH3]=P=XH< M>YTL.&N?=TU(4?C;;_9AQWD`;4_MW4F>#V0]NS,[\YN'QYRZES1@(5W[CM1L M-)[M[,`:0'-OMUG\-?2TV0+8:[4:K>;.L\8>;N/YO35HK/T`2H5T$X"U04(' M]YU[:/]_2H_@U&8`(2\^?8(#&#QY0EZ\.NF\_H`/6[^Y80A;@X'?AZWCWL<W M9R\[Q[T/G5<OR<GQR=LC?2:6PX2Z/B'U]V]^>=>%-B@A+Z0N)T0MVR"ID/2: M$,V$-JDDHYQ7]^)8L7Z^00.F@#_Z=K4Z.<Z7];>G[S^<O3!<=?,4MB+%_]@Y M>_WRXY2LE?0-9(*@0O"OU?_>;JN9U?^SYDX#MYNMW599_S^"MFL$:C#+`GS2 MC"$3X*>C/L1)-$C<$8B8<0%1$(`+`1V#J7F!OZZ$"T11<:(QN-P'SY7>$$0T MHDH7O?9H+%G$11V`R<<"1!K'D:`^R`B2E(/`]L-E.($@2N@53<PY;!QQPKC4 MBD#(-`B4.G4!O6826``1IV@2R'&D+.8#`4,WCBD7;>M'LPKK*:?7,?4D]9WJ M.J!?C%]%EWA[?X)25%D@F3&U5=6<<1+QP<QN)>.YZ6"(=W)TW[8[J&T3\HAQ M+TQ]"L^%]%E4'Q["]C8F,#1WX>G>_';(^KA?X-G&.<_D=%Q\S*TX)(2@:AT9 M)K2=,PLU]EQYA%&2+O>HT,!H_1ULNZX0>/P<6W&<]D/F(9Y^NSU3<$.(V6@3 MHHJ2\9!Q=<.Y<Q4QOXJ"\Q).%6Y@JL]>L42F;@BW^>E]0J;["HC\8D+P3[NM MCQ@A/*<757)#IM_LVU'N6_?K?>M^E6_=.WSK*M^ZVK?NP[ZY(";<0Y<X^^QJ M\WQZQ3QJ"FG$KM&[--80"&](_11M'11CB;IR'*SSKT*&69\4'56W6W9FMF+= MKN"I)72\OU*6T"7^&<4WMLCY!"ORRI747&#SMR<KE0KT,$@TV9_;&*785M0V M]$;[*T3&+I>+,E[$]7:M-_86L+;&(Z!VU6YG_BS@CB$U]CB(E&1>SW.%?)Y? M?N@TJM7-[/[[SI`*FN&\^_7D1,5RV3?&F70V>J--T&?V=;ASZV[O,&^E*A^; M<!)-E#:K1T<@5Y:%Z'Y=&ECLEP<Y1]`P<%3L=.X'X!ADX.``SU5)Q>U'B<P/ MS-L41MZE-6B%>*.J4JZ2,5"=/38%&@JJ-Q?#"J.)"NL\WZ"(.SF,"G<='*M6 MA0&7&U9Z/,171F[*3]:3I30:N[E>Z\3\O3GD>"1S<;H*AY07D%@.358E7Q+F ME9!FOBYC>F=N/@QU32%FJFBF+Z^Y`L"-'%^%_A)*@@VX&SI?B1!6K:NL]RXA MZE_@^U>][=U41B/L'Q`HZ-P!M1VL@WR%YF(+LZTZVW:R3E=3\KK*U<(Q3S?H MA5IM'6:E8CO9=*[OW^;:3/>?B65AG(G-M3M[>47U)B6PT)TRM21K^+I?X[@S M<G%LP#D*&[90S3R,HAA'G#BA4D[TE*4''CM%):Y/S:`U9G*H8>01O@Z2O.T7 MW@9U8O+#-.N:Y9[BA;-<5/:ZR<`V1OTV=;+4++BD/,(,2"A36:&,,TF70W[H MH)8L!_Q(IYQ,)@H_Q<G<QQ(/3$!4(JF=[6T]QP7.>L=<+^#\#[Z.^WK;S(UJ M,-`24SL^.IA[B(<:6C8^5[-;BKKT.3I3MB39A8U)+KDLURT8D3?!RC2K*]UC M')FD-',:,4D3;HMD.A?GH[OCC!,MUU&V@VUA6A:%X5A'&B=,J?KURK@>?7E< ME\,S`^XHN[N[(@A=YV$DBZH6L;P_>LMRY_\X!@C;$+\)\'4P&_0+L(*C:@>' MJ6&4ACY_+*%/L:(FU3F$9Z)OM*X[W]C6@557V4'5.*0QI<F(<6P?SJPE9I]3 M^+V#L8DC5%<'/>U=X!H'SS'#[QZNOH+`BT9Q2"7=Q"\@T%Y@DO'(2)DYT/R7 M126;G1D#4ZUUHCZ<1GF^X%-%#0:8+]ZFYGA#-[$9=/7[GP\VAQ73FUG;L`AL M%X4/K24\L_`%V&+P"R>?3:L+PQ_^1;PVS*.9!C:AT-8V(?B^(D=&)!M#BF(Z M0D69A9QLJ"B7_U(JJ:222BJII))**JFDDDHJJ:222BKI/T1_`S@^0:H`*``` ` end _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F1165VFFy8PJI5RxGwI000054dd>