Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jan 1999 13:27:00 +0100
From:      Bjoern Fischer <bfischer@TechFak.Uni-Bielefeld.DE>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        current@FreeBSD.ORG
Subject:   Re: panic: vinvalbuf: dirty bufs (during reboot, several times)
Message-ID:  <19990120132700.A15521@voliere.TechFak.Uni-Bielefeld.DE>
In-Reply-To: <199901200700.XAA76802@apollo.backplane.com>; from Matthew Dillon on Tue, Jan 19, 1999 at 11:00:55PM -0800
References:  <19990120073445.A402@titan.klemm.gtn.com> <199901200700.XAA76802@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--opJtzjQTFsWo+cga
Content-Type: text/plain; charset=us-ascii

On Tue, Jan 19, 1999 at 11:00:55PM -0800, Matthew Dillon wrote:
[...]
> ::But there's still something wrong: When shutting down the server
> ::it still sometimes panics in vinvalbuf() complaining 'bout dirty
> ::pages. On the client side vi dies of SEGV (edited file and
> ::/var/tmp/vi.recover on nfs fs) generating a wrong sized recover
> ::file. After that the server panics on shutdown. Without triggering
> ::the bug it shuts down gracefully.
> ::
> ::I'll try to receipe a situation for easily reproducing this.
> ::
> ::  Bjoern
> 
[...]
>     With that out of the way, if the vinvalbuf() problem still occurs
>     our best bet is if Bjoern can give us a repeatable vi SEGV / shutdown
>     sequence that results in the panic.
> 
>     If I can reproduce it on one of my machines, I can probably figure out
>     what is going on.  If both of you are running NFS, it could possibly be
>     the NFS server forgetting to unbusy a page somewhere.  If you aren't
>     running NFS, it could be an actual bug in FFS somewhere(!).

ok, here are some instructions which -- I hope -- reproduce it
(I haven't found a *nice* way; this is the ridiculous way):

NFS server and client are completely 3.0-CURRENT
(of CTM src-cur.3712.gz) with Luoqi's NFS fix. The server has all
(physical) file systems mounted with softupdates except `/'.

On the client simply edit `http://www.freebsd.org/~yokota/sc_update.txt'
(hey, don't laugh. Other files won't do it. Not even files with the
same size.) with FreeBSD vanilla vi (nvi). `sc_update.txt' is also
attached to this mail if the file in it's original location had been
changed recently. vi doesn't start normally, but skrews up and gets
into an uninterruptible state. Trying to kill the beast makes it SEGV.
(Of course everything is pretty normal when viing on the server.)

The file system which contains the file and the one which contains
/var/tmp/vi.recover are NFS ver2,udp,hard (although ver3,tcp/udp
should work^H^H^H^Hfail, too). They don't need to be separate mounts.

After the vi-SEGV try to shutdown the server with `shutdown -[rh] now'.
You may shutdown the client first -- it makes no difference.
Then you will get the panic.

Good luck.

  Bjoern

-- 
(sig_t*)NULL

--opJtzjQTFsWo+cga
Content-Type: text/plain
Content-Disposition: attachment; filename="sc_update.txt"

Last update: 12 January 1999.
Kazutaka YOKOTA
yokota@FreeBSD.ORG
-----------------------------------------------------------------------
I) Syscons Update
II) Splash Screen
III) Splash Screen/Screen Saver FAQ

-----------------------------------------------------------------------
I) Syscons Update

Major update for the console driver started on 10 January.  New
keyboard and video card drivers have been introduced

(This is just the begining.  There will be more updates to follow in
the next few months.)

Because of these changes, you must update several things in your
-current system.

1. You are required to update your kernel configuration file.

If you are using syscons, 

controller      atkbdc0 at isa? port IO_KBD tty
device          atkbd0  at isa? tty irq 1
#device         psm0    at isa? tty irq 12
device          vga0    at isa? port ? conflicts
device          sc0     at isa? tty

pseudo-device	splash

Note that `splash' is required if you intend to use screen savers or
splash screen.

!!IMPORTANT!!
Due to sloppy programming of mine, the pseudo-device splash is ALWAYS
needed for the syscons driver at the moment.  The problem will be
fixed soon .(12 Jan. 99)

If you are pcvt user,

controller      atkbdc0 at isa? port IO_KBD tty
device          atkbd0  at isa? tty irq 1
#device         psm0    at isa? tty irq 12
device          vt0     at isa? tty

2. The following options for syscons are replaced by new ones.

SC_ALT_SEQACCESS->      VGA_ALT_SEQACCESS
SLOW_VGA        ->      VGA_SLOW_IOACCESS

3. The following flags for syscons are no longer available.

0x08    Force detection of keyboard.
0x10    Old-style (XT) keyboard support.
0x20    Don't reset keyboard.

Use corresponding new flags for atkbd instead.

0x01    Don't install the keyboard driver if no keyboard is found,
        else we always assume a keyboard.
0x02    Don't reset keyboard.
0x04    XT keyboard support.

4. You must recompile screen saver modules and the vesa module in
/sys/modules, as well as kbdcontrol and vidcontrol in
/usr/src/usr.sbin.

If you regularly do `make world', you will be in good shape.  If you
don't do it often, this may be a good opportunity.


II) Splash Screen

A splash screen module has been added. See /sys/modules/splash.

This version has rather limited capabilities: it can handle W*ndows
256 color BMP file only (other color depth probably won't work); the
size of the image must be 320x200 or less.

In order to see splash image when your kernel loads, do the following:

Make sure the following line is added to your kernel configuration
file and rebuild a new kernel.

         pseudo-device splash

Copy your favorite W*ndows BMP file to somewhere the boot loader can
see.

When the boot loader starts, load kernel, splash image file and
the splash image decoder module as follows.

        load kernel
        load -t splash_image_data _your_BMP_file_
        load splash_bmp
        boot

"-t splash_image_data" is extremely important as the the decoder will
look for this tag for the bitmap data.

Then you should see the image on your screen as soon as the kernel
loads.

If you specify -c or -v options to the boot command, the splash image
won't appear. (But is loaded and can be used as a screen saver later;
see below.)

Note also that the splash screen won't be available if you use pcvt
driver.  You must be using syscons.

The splash screen will go away if you hit any key (this may not work
immediately if the kernel is still probing devices), or you load a
screen saver.

If you load the splash image decoder module but don't load a screen
saver, you can continue using the splash module as a screen saver.
Specify timeout value by running vidcontrol.

        vidcontrol -t timeout

Then, the splash screen image will come back after the specified time.
(You cannot use the regular screen saver as a splash screen, though.)

There is a little-known feature of kbdcontrol which you might be
interested in.  You can define the `saver' key in the keymap.  You
press the `saver' key, then the current screen saver (or the splash
screen if no screen saver is loaded) will immediately pops up.

For example, if you want to assign the `saver' key to the Pause key,
whose key number is 104, find the line for the4 key 104  and change 
it to

  104 saver saver saver saver saver saver saver saver O

Then reload the keymap.

        kbdcontrol -l mykeymap

The `saver' key has no effect in the X session.


III) Splash Screen/Screen Saver FAQ

                --------------------------------------
Q. Do I need the pseudo-device splash in order to use `blank' or `green'
   savers?
A. Yes.  The splash device is required for ANY screen savers and
   splash screen.

                --------------------------------------
Q. I loaded kernel, a bitmap file and the splash_bmp module as instructed,
   but got the following error.  What gives?

      Preloaded elf module "splash_bmp.ko" at XXXXXX.
      module_register_init: module_register(splash_bmp, YYYYYY, 0) error 19

A. The current version of splash_bmp.ko is very limited.  The color
   depth must be 8 bpp (256 color), and the size must be 320x200 or
   smaller.  If your BMP file doesn't satisfy these conditions,
   splash_bmp.ko will return error 19 (ENODEV).  These restriction may
   be relaxed in the future (no delivery date is promised, though).

   Another possible cause of error is that the video driver finds it 
   unable to switch video modes on your video card and splash_bmp.ko
   is failing.  Run the `dmesg' command and see if it shows something 
   like "...video mode switching is only partially supported..." 
   among boot messages.  There is no fix for this at the moment. Sorry.

                --------------------------------------
Q. Can we have splash screen and screen savers on the Alpha architecture?
A. Not at the moment.

                --------------------------------------

---- End of File ----




--opJtzjQTFsWo+cga--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



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