The translation is temporarily closed for contributions due to maintenance, please come back later.

Source string Read only

(itstool) path: question/para
Context English State
The computer has two or more clocks, and FreeBSD has chosen to use the wrong one.
Run <citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></citerefentry>, and check for lines that contain <literal>Timecounter</literal>. The one with the highest quality value that FreeBSD chose.
<prompt>#</prompt> <userinput>dmesg | grep Timecounter</userinput>
Timecounter "i8254" frequency 1193182 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
Timecounter "TSC" frequency 2998570050 Hz quality 800
Timecounters tick every 1.000 msec
Confirm this by checking the <varname>kern.timecounter.hardware</varname> <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
<prompt>#</prompt> <userinput>sysctl kern.timecounter.hardware</userinput>
kern.timecounter.hardware: ACPI-fast
It may be a broken ACPI timer. The simplest solution is to disable the ACPI timer in <filename>/boot/loader.conf</filename>:
debug.acpi.disabled="timer"
Or the BIOS may modify the TSC clock—perhaps to change the speed of the processor when running from batteries, or going into a power saving mode, but FreeBSD is unaware of these adjustments, and appears to gain or lose time.
In this example, the <literal>i8254</literal> clock is also available, and can be selected by writing its name to the <varname>kern.timecounter.hardware</varname> <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
<prompt>#</prompt> <userinput>sysctl kern.timecounter.hardware=i8254</userinput>
kern.timecounter.hardware: TSC -&gt; i8254
The computer should now start keeping more accurate time.
To have this change automatically run at boot time, add the following line to <filename>/etc/sysctl.conf</filename>:
kern.timecounter.hardware=i8254
What does the error <errorname>swap_pager: indefinite wait buffer:</errorname> mean?
This means that a process is trying to page memory from disk, and the page attempt has hung trying to access the disk for more than 20 seconds. It might be caused by bad blocks on the disk drive, disk wiring, cables, or any other disk I/O-related hardware. If the drive itself is bad, disk errors will appear in <filename>/var/log/messages</filename> and in the output of <command>dmesg</command>. Otherwise, check the cables and connections.
What is a <errorname>lock order reversal</errorname>?
The FreeBSD kernel uses a number of resource locks to arbitrate contention for certain resources. When multiple kernel threads try to obtain multiple resource locks, there's always the potential for a deadlock, where two threads have each obtained one of the locks and blocks forever waiting for the other thread to release one of the other locks. This sort of locking problem can be avoided if all threads obtain the locks in the same order.
A run-time lock diagnostic system called <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry>, enabled in FreeBSD-CURRENT and disabled by default for stable branches and releases, detects the potential for deadlocks due to locking errors, including errors caused by obtaining multiple resource locks with a different order from different parts of the kernel. The <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry> framework tries to detect this problem as it happens, and reports it by printing a message to the system console about a <errorname>lock order reversal</errorname> (often referred to also as <acronym>LOR</acronym>).
It is possible to get false positives, as <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry> is conservative. A true positive report <emphasis>does not</emphasis> mean that a system is dead-locked; instead it should be understood as a warning that a deadlock could have happened here.
Problematic <acronym>LOR</acronym>s tend to get fixed quickly, so check the <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-current">FreeBSD-CURRENT mailing list</link> before posting to it.
What does <errorname>Called ... with the following non-sleepable locks held</errorname> mean?
This means that a function that may sleep was called while a mutex (or other unsleepable) lock was held.
The reason this is an error is because mutexes are not intended to be held for long periods of time; they are supposed to only be held to maintain short periods of synchronization. This programming contract allows device drivers to use mutexes to synchronize with the rest of the kernel during interrupts. Interrupts (under FreeBSD) may not sleep. Hence it is imperative that no subsystem in the kernel block for an extended period while holding a mutex.
To catch such errors, assertions may be added to the kernel that interact with the <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry> subsystem to emit a warning or fatal error (depending on the system configuration) when a potentially blocking call is made while holding a mutex.
In summary, such warnings are non-fatal, however with unfortunate timing they could cause undesirable effects ranging from a minor blip in the system's responsiveness to a complete system lockup.
For additional information about locking in FreeBSD see <citerefentry><refentrytitle>locking</refentrytitle><manvolnum>9</manvolnum></citerefentry>.
buildworld
installworld
Why does <_:buildtarget-1/>/<_:buildtarget-2/> die with the message <errorname>touch: not found</errorname>?
This error does not mean that the <citerefentry><refentrytitle>touch</refentrytitle><manvolnum>1</manvolnum></citerefentry> utility is missing. The error is instead probably due to the dates of the files being set sometime in the future. If the CMOS clock is set to local time, run <command>adjkerntz -i</command> to adjust the kernel clock when booting into single-user mode.
User Applications

Loading…

No matching activity found.

Browse all component changes

Source information

Source string comment
(itstool) path: question/para
Flags
read-only
Source string location
book.translate.xml:2134
String age
a year ago
Source string age
a year ago
Translation file
books/faq.pot, string 345