5.1-CURRENT hangs on disk i/o? sysctl_old_user() non-sleepable locks

From: Chris Shenton (chris_at_shenton.org)
Date: 06/16/03

  • Next message: Christoph Kukulies: "mpd, ng, Cisco VPN, resource leak"
    To: current@freebsd.org
    Date: 16 Jun 2003 09:14:00 -0400
    
    

    (I don't know if this has any relation to the problems I reported
    yesterday with qmail-send consuming 100% cpu after 5.0 to 5.1 upgrade.)

    After booting 5.1-CURRENT the system runs fine for a while. Then
    later most disk i/o related actions seem to hang. E.g., system works
    but when cron kicks off a glimpseindex in the middle of the night, the
    system is useless by the morning. If I login on the console as me, it
    takes my username and password then hangs (trying to run
    /usr/local/bin/bash?). If I do this as root, I do get a shell
    (/bin/csh). After a point, asking for "top" will hang, even as root.
    Even a "reboot" hung this morning with nothing in the logs.

    The system has become almost unusable because of this, requiring
    frequent reboots or hardware resets.

    Sometimes when I do something as simple as "ps" I see this ominous
    message on the console:

      sysctl_old_user() with the following non-sleepablelocks held:
      exclusive sleep mutex process lock r = 0 (0xc50bc9e0) locked @ /usr/src/sys/kern/kern_proc.c:258

    which gets into /var/log/messages as:

      Jun 16 08:33:48 PECTOPAH kernel: exclusive sleep mutex process lock r = 0 (0xc50c7618) locked @ /usr/src/sys/kern/kern_proc.c:258

    There are a bunch of these.

    That file is version:

      $FreeBSD: src/sys/kern/kern_proc.c,v 1.189 2003/06/14 06:20:25 alc Exp $

    and the line is the PROC_LOCK() portion of:

      struct proc *
      pfind(pid)
              register pid_t pid;
      {
              register struct proc *p;

              sx_slock(&allproc_lock);
              LIST_FOREACH(p, PIDHASH(pid), p_hash)
                      if (p->p_pid == pid) {
                              PROC_LOCK(p);
                              break;
                      }
              sx_sunlock(&allproc_lock);
              return (p);
      }

    Any thoughts? Thanks.
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Christoph Kukulies: "mpd, ng, Cisco VPN, resource leak"

    Relevant Pages

    • [SLE] RE: Broken 8.2 boot, please need urgent help
      ... I was playing with autofs & smbfs and when I wanted to ... It hang there with progress bar on 14%. ... Trying to move old root to /initrd ... ... Do you Yahoo!? ...
      (SuSE)
    • Re: 5.1-CURRENT hangs on disk i/o? sysctl_old_user() non-sleepable locks
      ... > later most disk i/o related actions seem to hang. ... If I login on the console as me, ... is also ddb command to list the locked vnodes "show lockedvnods". ...
      (freebsd-current)
    • Re: Cannot boot xen DomU > 2.6.23.1
      ... I have never seen a hang before init. ... You're saying that lots of console output seems to lock the domain. ... This patch disables it cleanly. ...
      (Linux-Kernel)
    • Re: USB changes.
      ... prior to the USB change the system did not hang. ... > I saw this problem in testing ad THOUGHT I had checked in the fix.. ... I am behind on my list reading, ... it works in X just fine; I forgot to test it on the console. ...
      (freebsd-stable)
    • Re: Re: i686 hang on boot in userspace
      ... B hang while trying to login ... on remote console it hang after typing ... Also please put a serial console or similar on the machine, ... I'm not sure it is in the cciss driver, ...
      (Linux-Kernel)