Dear Irene,
I don't have a Mac and I have no idea what might cause this problem. But
here are some ideas how to analyze the issue:
1. It is possible to run the debugger from the command line and debug
compiled applications <http://www.mozart-oz.org/home/doc/tools/node12.html>.
If the problem is reproducible in the debugger, you might find out more
about the cause.
2. There is an undocumented feature which makes the emulator raise an
error if the current thread is blocked. You use it like this:
declare
[Debug] = {Module.link ['x-oz://boot/Debug']}
A B
in
{Debug.setRaiseOnBlock {Thread.this} true}
if A==B then skip end % -> error "Purely sequentÃal thread blocked"
The error message should give you a hint which variable suspends the thread.
Unfortunately, this won't work if the Pickle.load creates a new thread
for its work.
Good luck,
Wolfgang
Irene Langkilde-Geary wrote:
Hi,
I'm hoping someone can shed some light on a problem I've having. I'm
running Mozart 1.3.2 under Mac OS X 10.4.11, and my stand-alone app
seems to block/hang when loading a particular pickled file. However,
I am able to load the same file successfully when running the command
by feeding a buffer. To illustrate, the first example below hangs
after printing tmpHere2#testing, while the second runs to completion
just fine. The first example runs fine under Linux. (The 00-22+.ds
file is quite large, almost 33M, in case that matters).
Irene
%%%%%%First Example, executed from command-line after being compiled with ozc -x
functor
import Pickle System Application
define
Show=System.show
{Show tmpHere}
{Pickle.save testing '/Users/ilg10/Documents/tagger/data/Apr07/00-33+.ds'}
{Show tmpHere1}
T={Pickle.load '/Users/ilg10/Documents/tagger/data/Apr07/00-33+.ds'}
{Show tmpHere2#T}
Tmp={Pickle.load '/Users/ilg10/Documents/tagger/data/Apr07/00-22+.ds'}
{Show tmpDone#Tmp.2.word}
{Application.exit 0}
end
%%%%%%% Second Example, executed by feeding the buffer
declare
{Show tmpHere}
{Pickle.save testing '/Users/ilg10/Documents/tagger/data/Apr07/00-33+.ds'}
{Show tmpHere1}
T={Pickle.load '/Users/ilg10/Documents/tagger/data/Apr07/00-33+.ds'}
{Show tmpHere2#T}
Tmp={Pickle.load '/Users/ilg10/Documents/tagger/data/Apr07/00-22+.ds'}
{Show tmpDone#Tmp.2.word}
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users