Menu

#252 KERN_PROTECTION_FAILURE on startup

open
None
5
2015-03-04
2008-07-22
Gerd Flaig
No

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

Discussion

  • Markus Armbruster

    • assigned_to: nobody --> armbru
     
  • Markus Armbruster

    Looks like bugs in Darwin's ucontext implementation. I disabled LWP for Darwin for now, in 4.3.19.

     
  • Gerd Flaig

    Gerd Flaig - 2015-03-04

    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

     

Log in to post a comment.

MongoDB Logo MongoDB