Hi,
at startup time, emp_server dies with KERN_PROTECTION_FAILURE. Looks like there's problems with lwp on MacOS 10.5 (Leopard).
Goodbyte, Gerd.
% uname -a
Darwin hackmac 9.4.0 Darwin Kernel Version 9.4.0: Mon Jun 9 19:30:53 PDT 2008; root:xnu-1228.5.20~1/RELEASE_I386 i386
(gdb) r
Starting program: /Users/gefla/src/empserver/src/server/emp_server -e e2 -d
Reading symbols for shared libraries ++. done
------------------------------------------------------
Empire server (pid 410) started
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000290
0x95b33150 in strlen ()
(gdb) bt
#0 0x95b33150 in strlen ()
#1 0x95b2cd91 in __vfprintf ()
#2 0x95b647c9 in vsnprintf ()
#3 0x00096baf in logerror (format=0xffffffff <Address 0xffffffff out of bounds>) at src/lib/gen/log.c:110
#4 0x0008ad75 in lwpStackCheck (newp=0x2016e0) at src/lib/lwp/lwp.c:377
#5 0x0008b0c8 in lwpReschedule () at src/lib/lwp/lwp.c:74
#6 0x0008b37d in lwpCreate (priority=1, entry=0x88ef0 <player_kill_idle>, stacksz=51200, flags=0, name=0xae779 "KillIdle", argc=0, argv=0x0, ud=0x0) at src/lib/lwp/lwp.c:191
#7 0x0008a7a5 in empth_create (entry=0xffffffff, size=-1, flags=656, name=0xffffffff <Address 0xffffffff out of bounds>, ud=0xffffffff) at src/lib/empthread/lwp.c:68
#8 0x00089380 in start_server (flags=0) at src/server/main.c:385
#9 0x000897b4 in main (argc=4, argv=0xbffff674) at src/server/main.c:290
(gdb) up 4
#4 0x0008ad75 in lwpStackCheck (newp=0x2016e0) at src/lib/lwp/lwp.c:377
377 logerror("Thread %s stack overflow %d bytes",
(gdb) info locals
btm = <value temporarily unavailable, due to optimizations>
top = <value temporarily unavailable, due to optimizations>
i = <value temporarily unavailable, due to optimizations>
hi_clean = <value temporarily unavailable, due to optimizations>
overflow = 256
underflow = 256
(gdb) up
#5 0x0008b0c8 in lwpReschedule () at src/lib/lwp/lwp.c:74
74 lwpStackCheck(LwpCurrent);
(gdb) info locals
nextp = (struct lwpProc *) 0x2016e0
i = 1
Looks like bugs in Darwin's ucontext implementation. I disabled LWP for Darwin for now, in 4.3.19.
At armbru's request, retried with 10.9.5, Works now with LWP (re-enabled using git-revert 2454304dde6115d3d2bc66cf75c91b85edd86261).
Had to "configure CPPFLAGS=-D_XOPEN_SOURCE" to work around this compile error:
In file included from src/lib/lwp/lwpint.h:39:
/usr/include/ucontext.h:43:2: error: The deprecated ucontext routines require _XOPEN_SOURCE to be defined