Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Feb 2014 16:12:38 -0800
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Lev Serebryakov <lev@freebsd.org>
Cc:        stable@freebsd.org, hackers@freebsd.org
Subject:   Re: What is difference between loading module with loader and loading module wtih kldload?
Message-ID:  <20140226001238.GS92037@funkthat.com>
In-Reply-To: <9890815.20140226013107@serebryakov.spb.ru>
References:  <9890815.20140226013107@serebryakov.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
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."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140226001238.GS92037>