Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Feb 2003 16:51:06 +0000 (GMT)
From:      Jan Grant <Jan.Grant@bristol.ac.uk>
To:        freebsd-java@freebsd.org
Subject:   Re: Problem building native 1.4.1 with ALT_BOOTDIR as          linux-sun-jdk1.4.1_01-b01 on Feb 4 stable
Message-ID:  <Pine.GSO.4.44.0302251643320.27130-100000@mail.ilrt.bris.ac.uk>
In-Reply-To: <Pine.GSO.4.44.0302251606540.27130-100000@mail.ilrt.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Feb 2003, Jan Grant wrote:

> So I'm using the linux-sun jdk against a 4th Feb -stable to bootstrap:
> this is failing completely. As a normal user, I see this:
>
> > /usr/local/linux-sun-jdk1.4.1/bin/java -version
> #
> # HotSpot Virtual Machine Error, Internal Error
> # Please report this error at
> # http://java.sun.com/cgi-bin/bugreport.cgi
> #
> # Java VM: Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode)
> #
> # Error ID: 4F533F4C494E55580E43505002D7
> #
> Abort (core dumped)
>
> As root, I see this:
>
> # /usr/local/linux-sun-jdk1.4.1/bin/java -version
> java version "1.4.1_01"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
> Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
>
>
> I'm about to try bootstrapping using the root account; question is, who
> should I be chasing about this issue?

Incidentally, there are multiple PRs on this; Ernst seems to have charge
of them. There's been some dodgy diagonsis, due to using a FreeBSD trace
against a linux binary. The problem isn't relared to statfs, it's the
corresponding numbered syscall under linux, which is (still)
linux_sched_getscheduler.

Looking at sys/posix/p1003_1b.c, there's an attempt at CAN_AFFECT that
is #ifdef'ed out:

#if 0
/*
 * This is stolen from CANSIGNAL in kern_sig:
 *
 * Can process p, with pcred pc, do "write flavor" operations to process q?
 */
#define CAN_AFFECT(p, pc, q) \
        ((pc)->pc_ucred->cr_uid == 0 || \
            (pc)->p_ruid == (q)->p_cred->p_ruid || \
            (pc)->pc_ucred->cr_uid == (q)->p_cred->p_ruid || \
            (pc)->p_ruid == (q)->p_ucred->cr_uid || \
            (pc)->pc_ucred->cr_uid == (q)->p_ucred->cr_uid)
#else
#define CAN_AFFECT(p, pc, q) ((pc)->pc_ucred->cr_uid == 0)
#endif

and this is what kills the getscheduler calls across the board.

OK, so what now? Ernst, can you pick this up?


-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44(0)117 9287088 Fax +44 (0)117 9287112 http://ioctl.org/jan/
"Do what thou wilt" shall be the whole of the license.


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.44.0302251643320.27130-100000>