[Openmcl-devel] find reason for crashes and prevent mcl from going into kernel debugger?

rs stoye at stoye.com
Thu Jan 12 08:51:05 PST 2006


Hi,
sometimes i see openmcl 1.0 crash during gc (osx 10.4.3, G4/2x500  
MHz, 1GB RAM 600GB RAID):

...Unhandled exception 11 at 0xfd30, context->regs at #xf0600a38
Write operation to unmapped address 0x82087000
In foreign code at address 0x0000fd30

  The code run fine in previous releases (14.2 and 14.4) (example of  
stacktrace appended)
The App is a simple backup-server which runs 24/7 serving up to 12  
clients. During backup it uses several hundrets of MB RAM because the  
clients ask the server about the files already on the server and the  
server returns a list of filedescriptions.

questions:
1.) how to find the problem (maybe from backtrace)
       (does "In foreign code at address 0x0000fd30" mean that the  
error is in a lib using dangling ptrs?)
2.) Since i *have* to solve the problem: Is it possible to tell mcl  
to exit instead of going into the kernel debugger? I could make an  
appropriate entry for launchd to start it up again when it quits.

An alternative would be to fork mcl for each client but i don't  
really like this idea.




Maybe the problem reveals itself in this backtrace?:

Last login: Tue Jan  3 14:15:54 on console
Welcome to Darwin!
ip211:~ alle$ /Applications/StoyeBackup/startbuServerNEW.command; exit
;Loading #P"ccl:init-server.lisp.newest"...
;Loading #P"home:Library;Preferences;com\\.stoye\\.buserve.prefs.newest"
...Unhandled exception 11 at 0xfd30, context->regs at #xf0600a38
Write operation to unmapped address 0x82087000
In foreign code at address 0x0000fd30
? for help
[189] OpenMCL kernel debugger: B


(#xf0600f20) #x0000BCF0 : _rmark + 164
(#xf0600f90) #x0000BE3C : _rmark + 496
(#xf0601000) #x0000BCF0 : _rmark + 164
(#xf0601070) #x0000C56C : _mark_simple_area_range + 100
(#xf06010e0) #x0000F6F4 : _gc + 764
(#xf0601180) #x00010178 : _gc_from_tcr + 44
(#xf06011e0) #x0001243C : _gc_like_from_xp + 208
(#xf0601230) #x00012490 : _gc_from_xp + 28
(#xf0601280) #x000128D8 : _allocate_object + 184
(#xf06012d0) #x000129F0 : _handle_alloc_trap + 212
(#xf0601320) #x00012D70 : _signal_handler + 68
(#xf0601580) #x000165E4 : _pseudo_sigreturn + 0
(#xF0601B00) #x04100898 : #<Function STD-PART #x080c66ce> + 92
(#xF0601B10) #x041007D4 : #<Function SPLIT #x080c6646> + 176
(#xF0601B20) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B30) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B40) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B50) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B60) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B70) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B80) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601B90) #x041007F8 : #<Function SPLIT #x080c6646> + 212
(#xF0601BA0) #x04100A88 : #<Function %DIRECTORY-STRING-LIST  
#x080c671e> + 460
(#xF0601BB0) #x04100C14 : #<Function PATHNAME-DIRECTORY-SSTR  
#x080c68be> + 144
(#xF0601BC0) #x00005E90 : (subprimitive _ret1valn)
(#xF0601BD0) #x04102218 : #<Function STRING-TO-PATHNAME #x080c7d56> +  
532
(#xF0601BE0) #x040F7B0C : #<Function TRUENAME #x080bb6ae> + 32
(#xF0601BF0) #x042B9930 : #<Function IS-ALIAS #x083e6fb6> + 140
(#xF0601C00) #x042B9978 : #<Function IS-ALIAS #x083e6fb6> + 212
(#xF0601C10) #x042BA9FC : #<Function %BUS-GATHER-FILES #x083e9c8e> + 424
(#xF0601C20) #x042BABB4 : #<Function %BUS-GATHER-FILES #x083e9c8e> + 864
(#xF0601C30) #x00005E90 : (subprimitive _ret1valn)
(#xF0601C40) #x042BF8AC : #<Function BUS-GATHER-FILES #x083f9426> + 56
(#xF0601C50) #x00005E90 : (subprimitive _ret1valn)
(#xF0601C60) #x0411C644 : #<Function CALL-CHECK-REGS #x080e9fce> + 72
(#xF0601C70) #x042BBE94 : #<Function BUSERVE-PROCESS-CONNECTION  
#x083ec9d6> + 752
(#xF0601C80) #x042BBFA8 : #<Function BUSERVE-PROCESS-CONNECTION  
#x083ec9d6> + 1028
(#xF0601C90) #x042BBC08 : #<Function BUSERVE-PROCESS-CONNECTION  
#x083ec9d6> + 100
(#xF0601CA0) #x0410E15C : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 400
(#xF0601CB0) #x0410E198 : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 460
(#xF0601CC0) #x0410E2AC : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 736
(#xF0601CD0) #x00005E90 : (subprimitive _ret1valn)
(#xF0601CE0) #x0410E42C : #<Anonymous Function #x080db04e> + 152
(#xF0601CF0) #x0410E414 : #<Anonymous Function #x080db04e> + 128
(#xF0601D00) #x04107D08 : #<Anonymous Function #x080ce36e> + 172
(#xF0601D10) #x000093B4 : (subprimitive toplevel_loop)
(#xF0601D20) #x000093C0 : (subprimitive toplevel_loop)
(#xf0601d30) #x000094CC : _start_lisp + 244
(#xf0601df0) #x00013ACC : _lisp_thread_entry + 152
(#xf0601e50) #x9002C3D4 : __pthread_body + 96
(#xf0601f00) #x00000000 : (null) + 0


cstack area #x00353590


(#xF04CEAF0) #x040DFD1C : #<Function %SHARED-INITIALIZE #x0808c926> +  
288
(#xF04CEB00) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEB10) #x040D4884 : #<Method-Function SHARED-INITIALIZE  
(STANDARD-OBJECT T) #x080713a6> + 48
(#xF04CEB20) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEB30) #x040BFF4C : #<Function %%BEFORE-AND-AFTER-COMBINED- 
METHOD-DCODE #x08057e5e> + 616
(#xF04CEB40) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEB50) #x040C06F8 : #<Function %%STANDARD-COMBINED-METHOD-DCODE  
#x080584ce> + 148
(#xF04CEB60) #x00007D5C : (subprimitive _popj)
(#xF04CEB70) #x040D4F34 : #<Function %MAKE-STD-INSTANCE #x080719ee> +  
296
(#xF04CEB80) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEB90) #x040D4FCC : #<Method-Function MAKE-INSTANCE (STANDARD- 
CLASS) #x08071bae> + 56
(#xF04CEBA0) #x040E4BB8 : #<Function MAKE-IOBLOCK-STREAM #x0809a89e>  
+ 100
(#xF04CEBB0) #x04131484 : #<Function MAKE-FILE-STREAM #x08115756> + 1696
(#xF04CEBC0) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEBD0) #x040F1704 : #<Function OPEN #x080b23b6> + 552
(#xF04CEBE0) #x040F1750 : #<Function OPEN #x080b23b6> + 628
(#xF04CEBF0) #x042B9E7C : #<Function FILE-SIZE #x083e7c86> + 312
(#xF04CEC00) #x042B9E08 : #<Function FILE-SIZE #x083e7c86> + 196
(#xF04CEC10) #x042BAA78 : #<Function %BUS-GATHER-FILES #x083e9c8e> + 548
(#xF04CEC20) #x042BABB4 : #<Function %BUS-GATHER-FILES #x083e9c8e> + 864
(#xF04CEC30) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEC40) #x042BF8AC : #<Function BUS-GATHER-FILES #x083f9426> + 56
(#xF04CEC50) #x00005E90 : (subprimitive _ret1valn)
(#xF04CEC60) #x0411C644 : #<Function CALL-CHECK-REGS #x080e9fce> + 72
(#xF04CEC70) #x042BBE94 : #<Function BUSERVE-PROCESS-CONNECTION  
#x083ec9d6> + 752
(#xF04CEC80) #x042BBFA8 : #<Function BUSERVE-PROCESS-CONNECTION  
#x083ec9d6> + 1028
(#xF04CEC90) #x042BBC08 : #<Function BUSERVE-PROCESS-CONNECTION  
#x083ec9d6> + 100
(#xF04CECA0) #x0410E15C : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 400
(#xF04CECB0) #x0410E198 : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 460
(#xF04CECC0) #x0410E2AC : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 736
(#xF04CECD0) #x00005E90 : (subprimitive _ret1valn)
(#xF04CECE0) #x0410E42C : #<Anonymous Function #x080db04e> + 152
(#xF04CECF0) #x0410E414 : #<Anonymous Function #x080db04e> + 128
(#xF04CED00) #x04107D08 : #<Anonymous Function #x080ce36e> + 172
(#xF04CED10) #x000093B4 : (subprimitive toplevel_loop)
(#xF04CED20) #x000093C0 : (subprimitive toplevel_loop)
(#xf04ced30) #x000094CC : _start_lisp + 244
(#xf04cedf0) #x00013ACC : _lisp_thread_entry + 152
(#xf04cee50) #x9002C3D4 : __pthread_body + 96
(#xf04cef00) #x00000000 : (null) + 0


cstack area #x003012d0


(#xF0135C80) #x040FC4BC : #<Function %NANOSLEEP #x080c2406> + 264
(#xF0135C90) #x042BFB60 : #<Function SCAVENGER-LOOP #x083f9dc6> + 540
(#xF0135CA0) #x0410E15C : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 400
(#xF0135CB0) #x0410E198 : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 460
(#xF0135CC0) #x0410E2AC : #<Function RUN-PROCESS-INITIAL-FORM  
#x080daf16> + 736
(#xF0135CD0) #x00005E90 : (subprimitive _ret1valn)
(#xF0135CE0) #x0410E42C : #<Anonymous Function #x080db04e> + 152
(#xF0135CF0) #x0410E414 : #<Anonymous Function #x080db04e> + 128
(#xF0135D00) #x04107D08 : #<Anonymous Function #x080ce36e> + 172
(#xF0135D10) #x000093B4 : (subprimitive toplevel_loop)
(#xF0135D20) #x000093C0 : (subprimitive toplevel_loop)
(#xf0135d30) #x000094CC : _start_lisp + 244
(#xf0135df0) #x00013ACC : _lisp_thread_entry + 152
(#xf0135e50) #x9002C3D4 : __pthread_body + 96
(#xf0135f00) #x00000000 : (null) + 0


cstack area #x00300540


(#xBFFFF9E0) #x04158C0C : #<Function C_ACCEPT #x0814c08e> + 192
(#xBFFFF9F0) #x04152138 : #<Function _ACCEPT #x0814362e> + 116
(#xBFFFFA00) #x041521FC : #<Function SOCKET-ACCEPT #x08143646> + 80
(#xBFFFFA10) #x04152000 : #<Function ACCEPT-SOCKET-CONNECTION  
#x0814344e> + 164
(#xBFFFFA20) #x04151FA0 : #<Function ACCEPT-SOCKET-CONNECTION  
#x0814344e> + 68
(#xBFFFFA30) #x00005E90 : (subprimitive _ret1valn)
(#xBFFFFA40) #x040C3790 : #<Function %%CHECK-KEYWORDS #x0805ad46> + 172
(#xBFFFFA50) #x00007D5C : (subprimitive _popj)
(#xBFFFFA60) #x042BC52C : #<Function BUSERVE-LISTENER #x083ed5a6> + 632
(#xBFFFFA70) #x042BC4DC : #<Function BUSERVE-LISTENER #x083ed5a6> + 552
(#xBFFFFA80) #x042BC420 : #<Function BUSERVE-LISTENER #x083ed5a6> + 364
(#xBFFFFA90) #x00005E90 : (subprimitive _ret1valn)
(#xBFFFFAA0) #x042BFCD8 : #<Method-Function TOPLEVEL-FUNCTION (BACKUP- 
SERVER-APPLICATION T) #x083fa72e> + 124
(#xBFFFFAB0) #x000093B4 : (subprimitive toplevel_loop)
(#xBFFFFAC0) #x000093C0 : (subprimitive toplevel_loop)
(#xbffffad0) #x000094CC : _start_lisp + 244
[189] OpenMCL kernel debugger: 



More information about the Openmcl-devel mailing list