Shutdown anomaly

Dominic Fandrey kamikaze at bsdforen.de
Wed Feb 20 19:07:45 UTC 2008


Robert Huff wrote:
> Jonathan Chen writes:
> 
>>  > I am seeing the following messages, which appear to indicate a memory 
>>  > overwrite:
>>  > Waiting (max 60 seconds) for system processs 'vnlru' to stop...done
>>  > Waiting (max 60 seconds) for system processs 'bufdaemon' to stop...done
>>  > a
>>  >  iStyinncgi n(gm adxi s6k0s ,s evcnoonddess)  rfeomra isnyisntge.m. .pr0o 
>>  > cess 'syncer' to stop...0 0 done
>>  > All buffers synced.
>>  > Uptime: 8m9s
>>  
>>  It's an interleaved buffer messages on SMP systems. The problem is
>>  known, but I haven't heard of a proposed solution yet.
> 
> 	There is no fix.
> 	The workaround is to increase the size of the kernel printf()
> buffer.  I don't remember how you do that ... but this is not a new
> issue - chech the archives for details.

I would like to propose a fix. Care to test it?

Just apply this patch and add the following line to your /etc/rc.conf file.
shutdown_clean_enable="YES"



--- rc.shutdown	2008-02-20 19:28:45.000000000 +0100
+++ /etc/rc.shutdown	2008-02-20 19:59:03.000000000 +0100
@@ -43,10 +43,21 @@
  PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
  export HOME PATH

+# The next three lines belong into /etc/defaults/rc.conf.
+shutdown_clean_enable="NO"	# Set to YES to stop all but the first CPU
+				# core to prevent mixed buffer output
+				# upon shutdown.
+
  . /etc/rc.subr

  load_rc_config 'XXX'

+# Fall back to single core mode to guarantee clean output.
+if checkyesno shutdown_clean_enable; then
+	bitmask="$(jot -s '' -b1 $(expr $(sysctl -n hw.ncpu) - 1))0"
+	sysctl machdep.hlt_cpus=$bitmask
+fi
+
  # reverse_list list
  #	print the list in reverse order
  #



More information about the freebsd-questions mailing list