Subject: kern/13150: uvm vs. cd9660: uvn_flush warnings/hangs
To: None <gnats-bugs@gnats.netbsd.org>
From: None <wiz@netbsd.org>
List: netbsd-bugs
Date: 06/10/2001 02:52:05
>Number:         13150
>Category:       kern
>Synopsis:       uvm vs. cd9660: uvn_flush warnings/hangs
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 09 17:52:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Klausner
>Release:        1.5V/i386/2001-05-28
>Organization:
>Environment:
	
System: NetBSD hiro 1.5V NetBSD 1.5V (HIRO) #0: Mon May 28 00:10:37 CEST 2001 wiz@hiro:/archive/cvs/src/sys/arch/i386/compile/HIRO i386
Architecture: i386
Machine: i386
>Description:
Mounting a cd and test-unzipping some zip files on it (`unzip -tq \*')
results in two weird behaviours for me:

a) not too many zipfiles (say, 50):
   on unmounting the cd, I get lots of warnings like:
Jun  9 21:45:03 hiro /netbsd: uvn_flush: obj=0xdcb9adec, offset=0x1a54000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcb9a8dc, offset=0x733000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcb9a804, offset=0x5fd000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcb9a72c, offset=0xab8000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcb9a654, offset=0xab6000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcb9a57c, offset=0xd28000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcc6aec0, offset=0x652000.  error 45
Jun  9 21:45:04 hiro /netbsd: uvn_flush: WARNING: changes to page may be lost!
Jun  9 21:45:04 hiro /netbsd: uvn_flush: obj=0xdcc6a8d8, offset=0x106000.  error 45
   even though this should be a read-only file system....

b) too many zipfiles (~4000):  
   Machine hangs after unzipping a random part of them;
   ddb trace output:
	cpu_Debugger
	internal_command
	wskbd_translate
	wskbd_input
	pckbd_input
	pckbcintr
	Xintr1
	---- interrupt ----
	idle
	bpendtsleep
	sched_sync
   `show uvm' output of a second occasion (copied by hand):

Current UVM stats:
pagesize=4096(0x1000), pagemark=0xfff, pageshift=12
96042 VM pages: 58060 active, 29033 inactive, 19 wired, 5 free
min 10%(25) anon, 10%(25) vnode, 5%(12) vtext
pages 211 anon, 86649 vnode, 227 vtext
freemin=64, free-target=85, inactive-target=29031, wired_max=32014
faults=92433, traps=128283, intrs=89018, ctxswitch=51172
softint=41808, syscalls=197142, swapins=0, swapouts=5
fault counts:
noram=0, noanon=0, pgwait=0, pgrele=0
ok relocks(total)=1464(1464), anget(retrys)=14102(0), amapcopy=4498
neighbor anon/obj pg=5926/31861, gets(lock/unlock)=13023/1464
cases: anon=10321, anoncow=3781, obj=11539, prcopy=1484, przero=9215
daemon and swap counts:
woke=68, revs=66, scans=19861, obscans=18117, anscans=0
busy=1291, freed=18036, reactivate=88, deactivate=47522
pageouts=81, pending=81, nswget=0
nswapdev=1, nanon=220862, nanonneeded=220862, nfreeanon=220651
swpages=131071, swpginuse=0, swpgonly=0, paging=81
kernel pointers:
objs(kern/kmem/mb)=0xx03b79a0/0xc03b7ab0/0xc03b7ac8

Both of these are perfectly reproducible for me; I also managed to
reproduce it on macppc, but the available debugging output there isn't
so good yet...
>How-To-Repeat:
Assuming you have a CD-Rom with lots of zipfiles:

mount_cd9660 /dev/rcd0[cd] /mnt
cd /mnt
unzip -tq \*
>Fix:
Sorry, not known.


>Release-Note:
>Audit-Trail:
>Unformatted: