Re: panic: vm_map_wire: lookup failed

2003-10-17 Thread Alexander Leidinger
On Thu, 16 Oct 2003 22:54:43 +0200
John Hay [EMAIL PROTECTED] wrote:

  
  The latest development source of ntpd started to use setrlimit() before
  using mlockall(). This combination proves fatal on -current. The code
  in ntpd/ntpd.c looks like this:
 
 Ok, I found an easier way to provoke the panic. Just compile the following
 program like this:

   if (mlockall(MCL_CURRENT|MCL_FUTURE)  0)
   perror(mlockall());

Did you tested it on a recent -current? It is supposed to be fixed
(since a day or two, I think).

Bye,
Alexander.

-- 
   If Bill Gates had a dime for every time a Windows box crashed...
...Oh, wait a minute, he already does.

http://www.Leidinger.net   Alexander @ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: panic: vm_map_wire: lookup failed

2003-10-17 Thread John Hay
   
   The latest development source of ntpd started to use setrlimit() before
   using mlockall(). This combination proves fatal on -current. The code
   in ntpd/ntpd.c looks like this:
  
  Ok, I found an easier way to provoke the panic. Just compile the following
  program like this:
 
  if (mlockall(MCL_CURRENT|MCL_FUTURE)  0)
  perror(mlockall());
 
 Did you tested it on a recent -current? It is supposed to be fixed
 (since a day or two, I think).

Nope it is still not fixed. I have tried again just now and it still
throw a panic on both UP and SMP. Try for yourself if you are brave.
:-)))

John
-- 
John Hay -- [EMAIL PROTECTED] / [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: panic: vm_map_wire: lookup failed

2003-10-16 Thread John Hay
 
 The latest development source of ntpd started to use setrlimit() before
 using mlockall(). This combination proves fatal on -current. The code
 in ntpd/ntpd.c looks like this:

Ok, I found an easier way to provoke the panic. Just compile the following
program like this:

cc -Wall -O -o vm -lcrypto vm.c

and run as root. The program itself does not use the crypto, but it is
needed to provoke the panic.

# vm.c ##
#include stdio.h
#include sys/mman.h

int
main(int argc, char **argv)
{
/*
 * lock the process into memory
 */
if (mlockall(MCL_CURRENT|MCL_FUTURE)  0)
perror(mlockall());

return 0;
}
###

John
-- 
John Hay -- [EMAIL PROTECTED] / [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


panic: vm_map_wire: lookup failed

2003-10-09 Thread John Hay
Hi,

The latest development source of ntpd started to use setrlimit() before
using mlockall(). This combination proves fatal on -current. The code
in ntpd/ntpd.c looks like this:

###
#if defined(HAVE_MLOCKALL)  defined(MCL_CURRENT)  defined(MCL_FUTURE)
# ifdef HAVE_SETRLIMIT
/*
 * Set the stack limit to something smaller, so that we don't lock a lot
 * of unused stack memory.
 */
{
struct rlimit rl;

if (getrlimit(RLIMIT_STACK, rl) != -1
 (rl.rlim_cur = 20 * 4096)  rl.rlim_max)
{
if (setrlimit(RLIMIT_STACK, rl) == -1)
{
msyslog(LOG_ERR,
Cannot adjust stack limit for mlockall: %m);
}
}
}
# endif /* HAVE_SETRLIMIT */
/*
 * lock the process into memory
 */
if (mlockall(MCL_CURRENT|MCL_FUTURE)  0)
msyslog(LOG_ERR, mlockall(): %m);
#else /* not (HAVE_MLOCKALL  MCL_CURRENT  MCL_FUTURE) */
###

The panic message is:

panic: vm_map_wire: lookup failed

and a backtrace looks like this:

##
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
#1  0xc047ff07 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:372
#2  0xc04801c8 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#3  0xc055a714 in vm_map_wire (map=0xc0e0c6e4, start=0, end=3216949248, 
flags=3) at /usr/src/sys/vm/vm_map.c:1919
#4  0xc055d113 in mlockall (td=0x0, uap=0xc6361d14)
at /usr/src/sys/vm/vm_map.h:201
#5  0xc0591efb in syscall (frame=
  {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = -1077936788, tf_esi = 2, tf_ebp = 
-1077936904, tf_isp = -969532044, tf_ebx = -1077936944, tf_edx = 0, tf_ecx = 9, tf_eax 
= 324, tf_trapno = 12, tf_err = 2, tf_eip = 673338079, tf_cs = 31, tf_eflags = 658, 
tf_esp = -1077937108, tf_ss = 47})
at /usr/src/sys/i386/i386/trap.c:1006
#6  0xc0584c5d in Xint0x80_syscall () at {standard input}:144
---Can't read userspace from dump, or kernel process---

(kgdb) 
##

John
-- 
John Hay -- [EMAIL PROTECTED] / [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: panic: vm_map_wire: lookup failed

2003-10-09 Thread Bruce M Simpson
On Thu, Oct 09, 2003 at 11:59:35AM +0200, John Hay wrote:
 The latest development source of ntpd started to use setrlimit() before
 using mlockall(). This combination proves fatal on -current. The code
 in ntpd/ntpd.c looks like this:
[snip]

I'll look into this.

BMS
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]