[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with FFI in CLISP-1997-08-07



Matthias Lindner <matthias@intellektik.informatik.th-darmstadt.de> writes:

> using the newest CLISP (1997-08-07) on my Linux Box (Linux 2.0.30,
> PPro200, 64MB, libc.so.5.4.17) I get severe problems, with FFI CALL-INs.
> The following code is a minimal example to reproduce the error:
> [excellent, reproducible code snipped]

Thank you very much for this minimal example. It's a bug, affecting
the CALL-INs on all platforms with special register usage: hppa,
alpha, m88k, arm and now also i386.

Below is a fix. Please apply patch1 and patch2 if you have got the clisp
source, patch1 and patch3 if you have the i386-linux-elf binaries.

> Another question:
>    I am writing some kind of daemon using clisp. It uses the ffi a
>    lot (mySQL interface, tcpip interface etc.)  and it would be very
>    helpful, if there was a way to deal with SIGSEGVs within clisp
>    (do a restart e.g.). Is there a "canonical" way to do this?

Please do not do this normally. SIGSEGVs within CLISP should not occur,
and if they occur please make sure that this mailing list gets notified.
Otherwise the bugs will never get fixed. But if you want to chase bugs
outside clisp (i.e. in your mySQL interface or tcp/ip interface etc.), you
are welcome to put a breakpoint or hook at the function
`sigsegv_handler_failed' in spvw.d.

                     Bruno


begin 644 patch1.gz
M'XL(",:X\3,"`W!A=&-H,0#54TU/PS`,/;-?88;0DK*P=F4;V4X[@A`7#AQ1
MEJ:E(DU+FH(`L=].LJT=^P#M"):2U):?[;S7>)X'7*9E00)*1\2_)/ZH5VK>
MBW,MTD0%Y[(LCNXJ!==V]2GT^^.0CB^&X/);A)`E?!=S+R*85@D$(03!.!R,
M`W^)\3;-^4"IWZ5T"(L`;!BR53-FP.-Y98K*D-)HP3(/VO-3@/ETT@9D<L*)
M>2M$)+@$Q)D&IA,7*#5N?,4RYV/\K0.&M8=;QP?T_)B?MM<8)(4!A%)EZ]MD
M9<"W#2VJ\5$:`Q+/H(5Q`T'G]NH&@^5B<Q"4L8+#20=)ELTB!FAU`3=X+%E2
M7P!OT;-"OSX*!>A=Z+RP,^4)4U&#C&/B3F*GLBV=9#7=]IO\?;H!9B))U0-G
M4LX8?T)X\L\UV/<$`C_TNW8;+!^!DZD.[15JE]"UU6K4[<M&CRTMS@[0'4"H
GZ$?R+;)24I3E+L&MP_XK<*A**W>\,+E=_E?HYR+Y"R7XJE+%!```
`
end
begin 644 patch2.gz
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
6568MP2PX+\CSI^G,?P!\)L2JV"8`````
`
end
begin 644 patch3.gz
M'XL("/ZX\3,"`W!A=&-H,P#M5VUOVS80_KS\BFN-#9(C!Y(L6W9L%TC==0CF
M9<6R;!^*@I!ERM'BB*I(IVZ"_/<=*<F2;#E-L*TK$`<.1-Z;>,?G3G?-9A/\
M1<CCH\LCMIA]]R>=P<ER#M`%RSRVNL=6!ZQ^WSUHM5JYX%K(:H-E';?M8\M)
MA9K5/[D'N],Q[*X%B@"`OT881#,:P.D9^>77-Q>3'\EXC.2$SD,N:`(+%LWA
M_/>3\<\$:4"(QZ\)T5Y^3Z>KE_K@X`5PD2Q]L=;@<+>AI,C$9Y&@D>"#;85F
MG-";`=P/\,5TA:2H1@9\;[&8>OX5X=X-G:T-<ZG5H-$L#%)WI#>$^/%BR>6_
M"E;N-ZY;_YO?_Y%_=??<[O6,=K^=WK,,0$IP\@`TT$@84?@T#846Z0":-9D,
MA[C4-[A$4"ZTE:&$M)4./^1*94GQ.:8^FU&-KN)$2:K%T92)RR/)U`\.U\+7
MCY"NFB;+2#W8]"_J"TVN#6\V2RCG2CVEZW=WFA=&0M=RGJ$)M5<V[^^WS,X\
MX?V;1I<Q0Q:B!](#U]Z-TW8-QW'R',P`D;ZM">GE*PP-2I:GB(:(2(AH>ED&
M1K`EBUBIE\Q<:NIG%Y.)A/"V=0E`U$,LUR"T6(\`99GO:3R\I2S0-H5U?5!L
M6J]D?J/.3H2797>D3^ZHY&`J0>Y3.5XESTO.Y<3<M7(H!U]V=/>AB^HP>H0#
M@YV6JNI9+=Q$!GC<#V^)8`3/&V*9(2>__72N:6B>"_`OO03/K60P]EMUAB^G
M"1'>E,`=\B#=PQL2($Z]:4*#@:H23KN'T.SD5>(Y0/-1<*L%VQW<8-#SX`@6
M$Q:0(/&NZ=ISB)?\4BTUC^>%)BTGN\`@CU=H*7-8%@6[_L22F38^F4Q>RV,I
M!@FC@!GE-TOM^T<!3<H]*EW^08*$`6@OM*+<IQ'53%V'T0AJ?$&&-V6)D(GY
M@!/:]HGT-*HRROC,WV3)>/"K,$ZC:<M=#4"?G,E?/SMKFSFG9QNVT[>*SSR2
MVI+4V?S0KX/`8H#6J,0IP(:NR`]?%KN6I6=YJ1M9`I2-(+MLA&4A7ANH"%N9
M!66UW`H4=Q/5:V(61^*=GK4;6=B62!O#]0W>"$9HL'49R.&QYU-X;]GNAW+]
MN?$62VK!6N*]^6%+6T6?TP5&O3AH#5@!+*=W,2D);6:K:BDJZ0EIWY&U"976
MHR)7'.H/>6(."`69$#FNLJ,BU<BBX25S%8T47_F))J?G[]Y>G)UI$5HU$OJ1
M>-$MGB*C5\B&:40,.QR!CROZ&;=GIQ-]VQAY755CL5!/J4J"A3<W4+M82!8^
M94!D7S5?L*FWR-T:DT9#&DN#WFBL;30:$OV^"%E$T#6^8YKI]@R[XSK/<)YQ
M;>EY[]E,-':W[QJV:]JE8N>:EB2YF\4NS0YI2B:*P8*`4U'NZ;/\VY2HG7VP
M8<Q6#\X[Z4R0?W]2\JM76)`O)G)F,E=O75P]-`55]T^:@(KFHNQ9:6)AZ<12
MS"W#H>WH7YZ')$&Z5^I>MFW!<(A^ZG`(&2^=EY2N_N3QR':=+MYJI[T?D/8#
MTK<V("$N9<GI]/8CTGY$VH](W_R(Y+A]RW!ZIEET#4CJ2E)O/R)]C1')-)\\
H(A5U0#4EMS1A*615M]':(-IM_3#O22IIOI^A-F>HOP'Q(SN.8!H`````
`
end