Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jun 2002 11:47:13 +0200
From:      Andy Sporner <sporner@nentec.de>
To:        freebsd-hackers <freebsd-hackers@FreeBSD.ORG>
Subject:   Kernel Panic using kproc_exit() on FreeBSD 5.0-20020302-PREVIEW
Message-ID:  <3D0DB021.4080102@nentec.de>
References:  <F32bek2lisuJnOVHKgG00003ca2@hotmail.com> <3D099F31.8F0F0702@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Hackers,

First of all...

>
>Knuth's books: Collect them all!  Be the first on your block!
>
This is funny--mainly because I have one of these-- it was the bible in 
college
(I think the one I have is "Data structures and Algorithms")

Now to the real question:

I have some logic to stop a daemon thread running in a module:

------------SNIP
#include "modtcp.h"
#include <sys/kthread.h>

static struct proc      *modtcpproc;

static void modtcpd(void);

static struct kproc_desc kp = {
        "modtcpd",
        modtcpd,
        &modtcpproc
};

extern int should_die;

SYSINIT(modtcpd, SI_SUB_KTHREAD_BUF, SI_ORDER_FIRST, kproc_start, &kp)

static void modtcpd(void)
{

                tsleep(0x0dead0001, 0, "General Wait", 400);
                kthread_exit(0);

}
---------------------SNIP ENDS

This is not the actual usage that I have for the daemon, but I wanted to
reduce the problem set so that I can get the minimal amount of code
to produce the same failure.

After the sleep concludes and 'kthread_exit()' runs, the following
occurs...

panic: mutex Giant not owned at ../../../kern/kern_exit.c"131
Debuger("panic")
Stopped at            Debugger+0x40:         xorl        %eax,%eax


Is this a bug in the kernel or???


Thanks!




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D0DB021.4080102>