Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

OOF2 2.1.0 won't run threaded on NetBSD



Version 2.1.0 of OOF2 (http://www.ctcms.nist.gov/oof/oof2/) runs in its GUI mode on NetBSD/i386 5.1 when its --unthreaded switch is used, but if that's omitted neither of its windows appears, and top shows that python is continuously using 99% of the CPU.

One of OOF2's developers has investigated and found that some test code which works on Mac OS X and Linux doesn't operate properly on NetBSD [1].

I wonder if anyone would be prepared to look into the problem for me, please? If so, I could mail them the (6636 byte) .tgz file containing the test code and the list of packages needed to install and run OOF2.


Ray



[1]
------------------------------------------------------------
Hi Ray --

I've been investigating why oof2 won't run threaded on NetBSD. As a sanity check, can you run the attached program and tell me what it does? Just untar it, cd to IDLELOCK2, run make, and then run "python idlelock.py". It will bring up a window with a button in it. Push the button. The program should print something like this:

threadbody
threadbody waiting for lock
idleCallBack
idleCallBack finished
threadbody finished
Back from threadbody

But on NetBSD it only prints the first four lines, and when you close the window, the program hangs instead of exiting, and needs to be killed manually.

When you press the button, the program starts a thread in Python. The thread calls a C++ function, which creates a pthread mutex and locks it. It then installs a gtk idle callback, and waits for the mutex to be unlocked, which is the job of the idle callback. What's happening is that the mutex *is* being unlocked, but the thread never proceeds.

If you have any ideas of what might be wrong, they would be appreciated. This code works on OS X and Linux, but not NetBSD.

Thanks.
  -- Steve


Home | Main Index | Thread Index | Old Index