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>