[Beowulf] Seg Fault with pvm_upkstr() and Linux.

Josh Zamor jzamor at gmail.com
Mon Mar 14 23:51:36 PST 2005


I have just started in on programming using PVM and have run into an 
odd problem. I have written a C (c99) program that calculates the 
factorial of a number by calculating parts of the range. I'm using the 
GMP for dealing with large numbers (I have done this program 
successfully before using numerous methods including pthreads). The 
basic way it works for the cluster is that the program starts on a 
machine, determines the subrange to be calculated for each task and 
then waits for each process to come back with the answer for it's 
subrange. The main process then finds the total result of the factorial 
from multiplying the subrange results back together... Pretty 
standard...

The problem is that after a subrange is calculated by a task the result 
is put into a character array (null terminated, created from GMP's 
mpz_getstr()), it is packaged using pvm_pkstr() and sent to the parent. 
The parent can receive this using pvm_recv(), but as soon as it tries 
to store this into a character array in the program using pvm_upkstr(), 
or explore it with pvm_bufinfo(), it segfaults.

I've also tried this in a couple of different ways, passing ints, it 
works, but passing strings (either large or small) results in a 
segfault.

Of my 2 "cluster" learning setup one is running Mac OSX and the other 
is running Gentoo Linux. It is only the linux box that segfaults, the 
OSX box finds the answer correctly. The segfault happens whenever the 
linux box is part of the PVM created cluster, or when PVM is ran alone 
(no other boxes in the cluster) on the linux box.

If anyone has any idea why this is happening, or is only happening on 
the linux box I would be grateful. Thanks, tech details follow:

Gentoo Linux Box:
	Proc: AMD AthlonXP 1700+
	RAM: 512MB.
	Kernel: 2.4.26-gentoo-r9
	PVM: 3.4.5
	GMP: 4.1.4
	GCC: 3.3.5

Mac OSX:
	Proc: G4 1GHz
	RAM: 768MB
	Kernel: 10.3.8, Mach 7.8.0
	PVM: 3.4.5
	GMP: 4.1.4
	GCC: 3.3 (20030304)

Thanks again.

Regards,
-J Zamor
jzamor at gmail.com




More information about the Beowulf mailing list