Hi Ludovic, > Segmentation violation - possible reasons are: > - a faulty external C function > - certain operations on circular terms > - machine stack overflow > - an internal error in ECLiPSe > ECLiPSe may have become unstable, restart recommended Given that you're using an external C function that you've written yourself, the most likely cause of the problem really is the first one in that list. Have you tried to determine where the problem actually occurs? You haven't really given us enough information to say anything much beyond that. Note that the variability you observe (when using write/1 vs writeln/1, etc.) is because objects end up in different places in memory and/or unused memory ends up having different data in it as a result of these calls, so that sometimes the bad memory access just happens to (appear to) work OK. Cheers, Warwick On Wed, Jun 01, 2005 at 10:47:42AM +0200, ludovic picouays wrote: > I wrote a C predicate, I call it when a variable is modified. There is > no problem with that. > When I want to print something on the output before calling this > predicate, I must use write/1, otherwise it doesn't work. > > write("hello"), > cumulativeflow(Ri,Pi,Di,NbTache,NbMachine), > > this works. > > (cumulativeflow is my C predicate, I export it by loading a module > before execution.) > > > but if I use writeln/1 or write/1 and ln just after : > > writeln("hello"), > cumulativeflow(Ri,Pi,Di,NbTache,NbMachine), > > I have this error message : > > Segmentation violation - possible reasons are: > - a faulty external C function > - certain operations on circular terms > - machine stack overflow > - an internal error in ECLiPSe > ECLiPSe may have become unstable, restart recommended > > I don't know what is the problem, but I need to see several terms so > all of them on the same line is not really appropriate. > If you had some solution... > > Best Regards >Received on Thu Jun 02 10:28:45 2005
This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:07:36 PM GMT GMT