FreeBSD 10.4 kernel breaks on i7-7700 / PRIME H270M-PLUS
eugen at grosbein.net
Mon Apr 2 13:44:39 UTC 2018
On 02.04.2018 19:27, Mark Knight wrote:
>> What does it show if you press "CTRL-T" to see a status of "hung" process?
> Typically CTRL-T shows [sysctl mem]. In some circumstances I can CTRL-C
> (e.g. if su hangs), in others I cannot (e.g. with sudo).
>> Does it help if you comment out the line mentioning /dev/console in the /etc/syslog.conf
>> and apply the change with killall -1 syslogd ?
> Doing that "killall -HUP syslogd" hangs with (sysctl mem) - as does
> "service syslogd restart" but after a fresh reboot, no - removing that
> line didn't help at all. Thanks for getting my hopes up :)
> Moving ~/myuser/.bashrc out of the way (it really doesn't contain much
> apart from setting a bunch of aliases), allows me to login as myself,
> but "sudo -u myuser -s" still hangs.
> I just got a truss output of "sudo -u myuser -s" per the file below,
> perhaps that contains a clue?
> # sudo -u myuser -s >& sudo.truss.log
> Flipping back to a 10.3 kernel makes everything happy (just as well, as
> the machine in question is my main router/firewall, so it's a right pain
> when it's not working).
> Thanks in advance for any fresh ideas; I'm really not sure where to go
> with this!
1. Make sure you have kernel dumps enabled.
Verify that dump can be properly generated and saved after reboot
using "sysctl debug.kdb.panic=1" (this produced a panic).
You should have crashdump in /var/crash after reboot.
2. Rebuild kernel using new updated sources but this time add to its config file:
options KDB # Enable kernel debugger support.
options DDB # Support DDB.
options GDB # Support remote GDB.
options INVARIANTS # Enable calls of extra sanity checking
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
3. Boot new kernel using nextboot(8) and see if it will crash instead of deadlock
and if so, fill the PR to Bugzilla.
More information about the freebsd-stable