From owner-freebsd-current Sat Oct 17 21:03:53 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA03265 for freebsd-current-outgoing; Sat, 17 Oct 1998 21:03:53 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from picnic.mat.net (picnic.mat.net [206.246.122.117]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA03260 for ; Sat, 17 Oct 1998 21:03:51 -0700 (PDT) (envelope-from chuckr@mat.net) Received: from localhost (chuckr@localhost) by picnic.mat.net (8.9.1/8.8.5) with ESMTP id AAA00892; Sun, 18 Oct 1998 00:00:45 -0400 (EDT) Date: Sun, 18 Oct 1998 00:00:45 -0400 (EDT) From: Chuck Robey To: Peter Wemm cc: freebsd-current@FreeBSD.ORG Subject: Re: panic In-Reply-To: <199810180305.LAA23805@spinner.netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sun, 18 Oct 1998, Peter Wemm wrote: > > It is useful, but bad news. :-( > > It means that the SYSINIT() process got scrambled somehow. > > There are a bunch of sysinit's like this: > > static moduledata_t root_bus_mod = { > "rootbus", > root_bus_module_handler, > 0 > }; > DECLARE_MODULE(rootbus, root_bus_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); > .. which turns into > SYSINIT(rootbusmodule, SI_SUB_DRIVERS, SI_ORDER_FIRST, > module_register_init, &root_bus_mod) > > Effectively, this causes init_main.c to call > module_register_init((void *)&root_bus_mod); > > module_register_init(void *arg) > { > moduledata_t* data = (moduledata_t*) arg; > error = module_register(data->name, data->evhand, data->priv, data->_file); > } > module_register(const char* name, modeventhand_t handler, void* arg, void *file) > { > size_t namelen; > namelen = strlen(name) + 1; > ^^^^^^^^^^^^ Here is where it's crashing. > > And there's the dilemma. Either the name in the moduledata_t struct got > smashed somehow, or the sysinit process is passing the wrong pointer to > module_register_init(). > > I picked this one out for the example for no particular reason, this has > been in the kernel for a while. There are a number of these activated by > new definitions of things like VFS_SET(), VNODEOP_SET(), EXEC_SET() macros > in src/sys/*.h. > > Hmm, you don't have MATH_EMULATE or GPL_MATH_EMULATE options turned on by > any chance, do you? Take them out if so. Peter, I just got home (I'd warned previously I would be out for several hours, but I didn't expect it to get this hot this soon). Let me hit some points first. Earlier there was a question from Mike about boot blocks. I have never done anything to my kernel builds. They were aout. Has that changed in some way? I'm pretty certain it's still aout, right, for the kernel? I haven't updated my boot blocks, because I thought that for aout, it wasn't called for. Correct me if I'm wrong. The hit is happening about like you say, and if that's a string, I can use ddb to hunt for it, I just can't seem to coax ddb to dump a kernel core file. options GPL_MATH_EMULATE has always been in my kernel config. I'll take it out now. I'm surprised, I'd seen nothing about taking it out anywhere. I just got home, I am going to ingest some protein before you get any data out of me ... > > Another thought.. Please try a 'make clean' and do a rebuild of the kernel. > > Also, it would be helpful to know if the same problem happens with a plain > a.out kernel booted from the standard bootblocks, not /boot/loader. I'd > be suprised if it was different though. > > Cheers, > -Peter > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > > ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@glue.umd.edu | communications topic, C programming, and Unix. 213 Lakeside Drive Apt T-1 | Greenbelt, MD 20770 | I run Journey2 and picnic (FreeBSD-current) (301) 220-2114 | and jaunt (NetBSD). ----------------------------+----------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message