Hello,
I compiled IO 2006-09-20 using Cygwin on Windows XP. By the way I had to fix the Makefile.lib, and could you modify libsiovmsourceIoSystem.c:
by replacing
#if defined(unix) || defined(__APPLE__) || defined(__NetBSD__)
by
#if !defined(__CYGWIN__) && (defined(unix) || defined(__APPLE__) || defined(__NetBSD__))
By running the following program, I got a segfault:
iterator := Object clone do (
bailout := 16
max_iterations := 1000
mandelbrot := method (x,y,
cr := y - 0.5
ci := x
zi := 0.0
zr := 0.0
i := 0
while (1,
i = i + 1
temp := zr * zi
zr2 := zr * zr
zi2 := zi * zi
zr := zr2 - zi2 + cr
zi := temp + temp +ci
if (zi2 + zr2 > bailout,
return i)
if (i > max_iterations,
return 0)
)
)
print_set := method (
writeln("Rendering...")
for(y, -39, 39,
write("n")
for(x, -39, 39,
i := mandelbrot(x/40.0,y/40.0)
&
nbsp;
if (i == 0, write("*"),write(" "))
)
)
)
)
"" println
time := Date cpuSecondsToRun(iterator print_set)
"Io Elapsed # secs" println
Here is the segfault:
#0 0x610d7bab in memset () from /usr/bin/cygwin1.dll
No symbol table info available.
#1 0x00403499 in IoObject_clearMark (self=0x30061) at source/IoObject.c:274
No locals.
#2 0x00403514 in IoObject_alloc (self=0x5adf90) at source/IoObject.c:297
pchild = (IoObject *) 0x30061
child = (IoObject *) 0x30061
#3 0x00403609 in IoObject_rawClonePrimitive (proto=0x5adf90)
at source/IoObject.c:360
self = (IoObject *) 0x582790
#4 0x00415f10 in IoNumber_rawClone (proto=0x5adf90) at source/IoNumber.c:190
self = (IoObject *) 0
x25
#5 0x004047ce in IOCLONE
(self=0x5adf90) at source/IoObject.c:1070
state = (IoState *) 0x582790
newObject = (IoObject *) 0x109c1c0
#6 0x00415f4b in IoNumber_newWithDouble_ (state=0x582790,
n=1.8156649262730464) at source/IoNumber.c:198
proto = (IoNumber *) 0x5adf90
self = (IoNumber *) 0x5adf90
#7 0x00415ae6 in IoState_numberWithDouble_ (self=0x582790,
n=1.8156649262730464) at source/IoState_symbols.c:37
i = 1
#8 0x004162ae in IoNumber_add_ (self=0x120dc68, locals=0x1152ce0,
m=0x109c070) at source/IoNumber.c:340
other = (IoNumber *) 0x120dcf0
#9 0x00419056 in IoCFunction_activate (self=0x5ae410, target=0x120dc68,
locals=0x1152ce0, m=0x109c070, slotContext=0x5adf90)
at s
ource/IoCFunction.c:172
selfData = (IoCFunctionData *) 0x5ae498
t = (IoTag *) 0x5adfd0
result = (IoObject *) 0x0
#10 0x00402eea in IoObject_activate (self=0x5ae410, target=0x120dc68,
locals=0x1152ce0, m=0x109c070, slotContext=0x5adf90)
at source/IoObject_