IRIX6.5 + PTHREAD?!

dan dan at csl.csam.iit.edu
Thu Apr 13 13:24:19 PDT 2000


I apreciate any comments to get Kaffe working on a 12-CPU IRIX6.5 system
withPOSIX threads. A list for things to be done would be preferred.

> > 1) It looks like the thread does not get suspended?
> > ==> The assertion in ./systems/unix-pthread/thread-impl.h fails:
> > assert(nt->suspendState == SS_SUSPENDED);
>
> That's kaffe-level "suspend" and not the pthread-level suspend.  Given
> the next error you encounter, I suspect that the synchronization stuff
> isn't working for you...  Are you on a multiprocessor box?
>

Yes. It is a multiprocessor box with SGI IRIX6.5 and 12 processors.

> > However, if I comment it out, the following error occurs!
> > 2)
> > ==> locks.c:147: failed assertion `*lkp == LOCKINPROGRESS'
>
> Look at locks.[ch], and see if the atomic compare stuff is being
> defined correctly for your system.
>
> In the future, it would help if you said which test cases you were
> running (or all if they all fail...) and if you could get a backtrace
> via gdb or some other debugger, that would also be good.
>

I have my multithreaded test version. The above errors are collected from
my testprogram.

class SimpleThread extends Thread {
    public SimpleThread(String str) {
        super(str);
    }
    public void run() {
        //System.out.println("thread start");
        System.gc();
        for (int i=0; i<1000; i++) {
            System.out.println(i+" "+getName());
            try {
                sleep((int) (Math.random())*10000);
            } catch (InterruptedException e) {}
        }
        System.out.println("DONE! "+ getName());
    }
}

class TwoThreadsTest {
    public static void main (String args[]) {
        System.out.println("Starting...");
        new SimpleThread("Lo").start();
        //System.gc();
        new SimpleThread("Chia").start();
        new SimpleThread("Tien").start();
        new SimpleThread("Dan").start();
    }
}

However, the following test report (part of) was collected from "make
check".

FAIL: ModuloTest.java
FAIL: LongNeg.java
FAIL: ttest.java
FAIL: ThreadInterrupt.java
run[9]: 1531964 Memory fault
FAIL: ThreadState.java
FAIL: UncaughtException.java
run[6]: 1520910 Abort
FAIL: Preempt.java
FAIL: SignedShort.java
FAIL: CharCvt.java
FAIL: ProcessTest.java
FAIL: UDPTest.java

> AFAIK, the unix-pthreads port has only really been tested on Linux, so
> you're probably breaking new ground here.
>

Thanks.



More information about the kaffe mailing list