ia64/118024: cpu_thread_setup() needs teardown counterpart

Marcel Moolenaar marcel at pluto2.freebsd.org
Tue Nov 13 12:30:02 PST 2007


>Number:         118024
>Category:       ia64
>Synopsis:       cpu_thread_setup() needs teardown counterpart
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ia64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 13 20:30:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Marcel Moolenaar
>Release:        FreeBSD 8.0-CURRENT ia64
>Organization:
>Environment:
System: FreeBSD pluto2.freebsd.org 8.0-CURRENT FreeBSD 8.0-CURRENT #2: Sun Nov 11 01:45:35 UTC 2007 marcel at pluto2.freebsd.org:/q/obj/q/8.x/src/sys/PLUTO2 ia64


>Description:
FreeBSD/ia64 (pluto2.freebsd.org) (ttyu3)

login: panic: lock "High FP lock" 0xe0000000104e4640 already initialized
cpuid = 0
KDB: enter: panic
[thread pid 21719 tid 100142 ]
Stopped at      kdb_enter+0x81: [F1]    nop.f 0x0
db> bt
Tracing pid 21719 tid 100142 td 0xe0000000123b1b00
kdb_enter(0xe000000004658d08, 0xe0000000042dac60, 0x793, 0xa000000033be3508) at kdb_enter+0x81
panic(0xe00000000465c710, 0xe000000004689268, 0xe0000000104e4640) at panic+0x2e0
lock_init(0xe0000000104e4640, 0xe0000000047341b8, 0xe000000004689268, 0x0, 0x20000) at lock_init+0x50
mtx_init(0xe0000000104e4640, 0xe000000004689268, 0x0, 0x1) at mtx_init+0x120
cpu_thread_setup(0xe0000000104e4360, 0xe0000000042f77d0, 0x207) at cpu_thread_setup+0x90
thread_alloc(0xe0000000104e4360, 0xe0000000042a95e0) at thread_alloc+0xe0
thread_alloc_spare(0xe0000000123b1b00, 0x2000000000036058, 0x10, 0xe0000000042ab620, 0x896) at thread_alloc_spare+0x30
thread_userret(0xe0000000123b1b00, 0xe0000000123a3080, 0x0, 0x0) at thread_userret+0xfe0
userret(0xe0000000123b1b00, 0xa000000033be3550, 0xe0000000123b1b00, 0xe0000000042c4d60) at userret+0x140
fork_return(0xe0000000123b1b00, 0xa000000033be3550, 0xe00000000429f7b0, 0x40c) at fork_return+0x30
fork_exit(0xe0000000046f8c70, 0xe0000000123b1b00, 0xa000000033be3550) at fork_exit+0x110
enter_userland() at enter_userland
db> reset

thread_init() calls cpu_thread_setup(), but thread_fini() has no
counterpart (e.g. cpu_thread_teardown()). As such, the mtx_init()
called from cpu_thread_setup() has no corresponding mtx_destroy().


>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ia64 mailing list