From owner-freebsd-current Sat Apr 15 6:39:21 2000 Delivered-To: freebsd-current@freebsd.org Received: from localhost (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id 2AE5237B6DC; Sat, 15 Apr 2000 06:38:51 -0700 (PDT) (envelope-from green@FreeBSD.org) Date: Sat, 15 Apr 2000 09:38:34 -0400 (EDT) From: Brian Fundakowski Feldman X-Sender: green@green.dyndns.org To: Michael Reifenberger Cc: FreeBSD-Current , alc@FreeBSD.org Subject: Re: panic: vm_object_shadow: source object has OBJ_ONEMAPPING set. In-Reply-To: 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 Thu, 13 Apr 2000, Michael Reifenberger wrote: > Hi, > when using a linux java app (SAP PlatinGUI 46Cb2) I get the above panic. > FreeBSD -current. Kernel+mods in sync. > Linux from ports. Linux-Java-JDK 1.2.2 from blackdown as of yesterday. > Backtrace see crash.txt. Kernelconfig see nihil. > Any thoughts anyone? Yes, I've gotten these too. I really believe the assumptions the code there makes are wrong, and I've got a patch to correct them to what I think they are supposed to be. You've got the standard disclaimer on the patch, though I assure you it has shown no ill effects to me, and I noticed this bug through WINE. I've asked Poul-Henning Kamp, who seems to also think that the code makes wrong assumptions. I've asked Matt Dillon and gotten no reply (a month now, at least). I've asked Alan Cox, and he'd help if we could get him a test case so he can watch it happen himself and debug it himself. Do you think you can find a specific set of steps for Alan to reproduce it? > Bye! > ---- > Michael Reifenberger > ^.*Plaut.*$, IT, R/3 Basis, GPS -- Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! / green@FreeBSD.org `------------------------------' Index: vm_object.c =================================================================== RCS file: /usr2/ncvs/src/sys/vm/vm_object.c,v retrieving revision 1.173 diff -u -r1.173 vm_object.c --- vm_object.c 2000/03/26 15:20:22 1.173 +++ vm_object.c 2000/04/10 00:03:22 @@ -903,15 +903,25 @@ * Don't create the new object if the old object isn't shared. */ - if (source != NULL && - source->ref_count == 1 && - source->handle == NULL && - (source->type == OBJT_DEFAULT || - source->type == OBJT_SWAP)) - return; + if (source != NULL) { + if ((source->flags & OBJ_ONEMAPPING) != 0 && + source->ref_count != 1) + printf("vm_object %p: flags %d, ref_count %d, " \ + "type %d, handle %p\n", + source, source->flags, source->ref_count, + source->type, source->handle); + if ((source->flags & OBJ_ONEMAPPING) != 0 || + (source->ref_count == 1 && + source->handle == NULL && + (source->type == OBJT_DEFAULT || + source->type == OBJT_SWAP))) + return; + } - KASSERT((source->flags & OBJ_ONEMAPPING) == 0, +#if 0 + KASSERT(source != NULL && (source->flags & OBJ_ONEMAPPING) == 0, ("vm_object_shadow: source object has OBJ_ONEMAPPING set.\n")); +#endif /* * Allocate a new object with the given length To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message