Lucky Green (Fri, Mar 14, 2003 at 06:40:58PM -0800) wrote: > I am seeing a lot of crashes of GBDE, causing "ENOMEM" errors to scroll > rapidly on the console. Whenever this happens, the server becomes > unresponsive to keyboard or any other input and has to be power cycled. > Is there some debug setting that I can set which would help diagnose the > problem further? This is on a minimally-loaded test machine with no > other users and no significant load from any services.
I stumbled upon this problem when I was messing around with the swapoff() system call and /dev/md. If you do the following: # swapoff <all-swap-devices> (one after another... # mdconfig -a -t swap -s 30M -u 3 # newfs /dev/md0 (nice unkillable loop) So, doing some research indicates that one way of fixing this problem was to detect if swap was available at all, in the md{start,done}_swap() routines, but not sure if that is the best fix. The ENOMEM error occurs in geom_io.c:g_io_deliver(). I have not familiarized myself with the GEOM code yet, but I could get a stack trace by just shoving panic() into g_io_deliver(). If you are running X or some sort of window system, you will not be able to use it, as Lucky Green said, it will be just hang. Going into DDB will not help because it hasn't crashed, and even doing so, will just give you a trace of the fork_trampoline(), ithd_loop() stuff... i.e. nothing which helps with the problem. The error looks like: "ENOMEM (0x<some-addr>) on (0x<some-addr>)..." in my case. Cheers. -- Hiten To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message