sparc64/71729: printf in kernel thread causes panic on SPARC

Doug Haigh cd_freebsd at
Tue Sep 14 08:50:27 PDT 2004

>Number:         71729
>Category:       sparc64
>Synopsis:       printf in kernel thread causes panic on SPARC
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-sparc64
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 14 15:50:17 GMT 2004
>Originator:     Doug Haigh
>Release:        SPARC 5.2.1
FreeBSD stesthost 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #12: Mon Sep 13 10:35:08 EDT 2004     cd at stesthost:/usr/src/sys/sparc64/compile/DBGKERNEL  sparc64

THis is an Ultra-60 dual proc machine
I create a kernel thread in my driver using kthread_create. When the thread routine executes, it tries to print out a debug message using 'printf'. When this executes, I trap in a panic with the following trace:

panic() at panic+0x174
trap() at trap+0x3b4
-- fast data access mmu miss tar=0 %o7=0xf000d784
_end() at 0xf0008fd0
openfirmware() at openfirmware+0x18
OF_write() at OF_write+0x14
ofw_cons_putc() at ofw_cons_putc+0x3c
cnputc() at cnputc+0x7c
putchar() at putchar+0x5c
kvprintf() at kvprintf+0x648
printf() at printf+0x4C

Same code works fine on i386 machines.

Create a driver that creates a thread and do a printf in the thread routine.

More information about the freebsd-sparc64 mailing list