[GRASS-user] multiple runs error

Glynn Clements glynn at gclements.plus.com
Sun Nov 21 13:59:52 EST 2010


AhmadKhaled wrote:

> I am running 30 programs simultaneously on a super computer. After some time
> some of them crash, giving the following error. 

> "/software/apps/grass-gis/grass-6.4.0/etc/python/grass/script/core.py", line 53, in __init__
>   File "/software/apps/Python-2.6.4/lib/python2.6/subprocess.py", line 621, in __init__
>   File "/software/apps/Python-2.6.4/lib/python2.6/subprocess.py", line 1122, in _execute_child
>   File "/software/apps/Python-2.6.4/lib/python2.6/pickle.py", line 1374, in loads
>   File "/software/apps/Python-2.6.4/lib/python2.6/pickle.py", line 858, in load
>   File "/software/apps/Python-2.6.4/lib/python2.6/pickle.py", line 971, in load_string
> LookupError: unknown encoding: string-escape
> 
> There is no pattern in the number of programs crashing, nor on the time they
> crash. It seems that it is totally random. I though that there might be a
> conflict between different mapsets, so I even used different locations for
> different runs, but it didn't change anything. When I was running 4 programs
> at the same time on my own machine I wasn't getting any error, so it is a
> bit weird for me. I would appreciate if anyone can help.

For whatever reason, an exception is being thrown between the fork()
of the child process and the exec() of the command, and the pickle
module fails to find the codec required to decode the backtrace which
the child sends to the parent.

Try the following in an interactive Python session:

	import codecs
	codecs.lookup("string-escape")

If it fails, your Python installation is broken. If it succeeds, I can
only assume either a low-level bug in the interpreter or the
interpreter's memory is getting corrupted.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-user mailing list