What is difference between loading module with loader and loading module wtih kldload?
John-Mark Gurney
jmg at funkthat.com
Wed Feb 26 00:12:41 UTC 2014
Lev Serebryakov wrote this message on Wed, Feb 26, 2014 at 01:31 +0400:
> I've upgraded my fileserver to 10-STABLE and got very strange (but
> very-very painful) problem, which I could not reproduce on virtual machine
> (VirtualBox).
>
> I'm using geom_raid5 module (and I'm its maintainer, yes) and module, built
> for 10-STABLE (after world & kernel build & install & reboot), and loaded
> via /boot/loader.conf is reason to almost instant crash after boot.
> Sometimes system mounts filesystems before crash and sometimes not. Most of
> time it is "page write: page not present", in different places. PS/2
> keyboard is always blocked after that, I could not drop to debugger. No
> memory dump performed. Several times it turend off video output (!) right
> after crash.
Can you give us an exact error message? I am not finding the string:
"page write: page not present" anywhere in the tree, on close thing is
in trap, where it could be user/supervisor write/read instruction/data
page not present, where words seperated by slashes could be one or the
other...
This sounds like it could be a buffer overflow... Could you try turning
on INVARIANTS and other related debugging on 10-STABLE since these were
turned off for the RELEASE?
Also uname -a would be helpful to know which arch you are on...
> But if I boot without this module, drop to single-user mode, load module
> with kldload and continue booting with "exit" everything work smoothly for
> hours!
>
> I understand, that it it some incompatibility between module new kernel,
> but I could not reproduce it on VirtualBox instance, and I'm puzzled, that
> this crash does not occur if module loaded by kldload! Maybe, here is some
> hint in this?
There are a few differences between a boot time loaded module and a
runtime loaded module... The linker runs earlier at boot time to link
up the module before things start, the module may be partly run w/ cold
set (which informs us the interrupts and other things may not be fully
working).. Sysinits are run in a slightly different order (i.e. kernel
SYSINITs that appear after your modules will be run first)...
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the freebsd-stable
mailing list