[mpich-discuss] Calling MPI from a CGI Python script

Srujan kumar esrujan at cs.ubc.ca
Thu Apr 29 00:21:31 CDT 2010


Hi,

I am trying to run an MPI program as a CGI Python script which is running
over an Apache web server running locally on my computer.

I have a test.py file which has the code snippet

cmd = 'opt/local/bin/mpiexec -n 7 testmpi'
output = commands.getoutput(cmd)


When I run the file test.py as an executable over command line (as ./test.py
), it works perfectly fine.

But when I try to run the same over the web browser, the MPI code functions
as if the command was 'mpiexec -n 1 testmpi'.
It is unable to recognize that there are multiple processes that are being
invoked. In other words it is not forking child processes.

I checked in to the error log in apache regarding the same. The
corresponding error code is following:

[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261.local:07199]
[0,0,0]-[0,0,1] mca_oob_tcp_msg_send_handler: writev failed: Broken pipe
(32), referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261.local:07199]
[0,0,0] ORTE_ERROR_LOG: Communication failure in file
/SourceCache/openmpi/openmpi-5/openmpi/orte/mca/gpr/replica/communications/gpr_replica_recv_proxy_msgs.c
at line 49, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] ***
Process received signal ***, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] Signal:
Segmentation fault (11), referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] Signal
code: Address not mapped (1), referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] Failing
at address: 0x8, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 0] 2
libSystem.B.dylib                   0x00000000803ec3fa _sigtramp + 26,
referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 1] 3
???                                 0x0000000000000004 0x0 + 4, referer:
http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 2] 4
libopen-rte.0.dylib                 0x000000000002dca9
mca_oob_send_packed_nb + 297, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 3] 5
mca_oob_tcp.so                      0x00000000000f4a8f
mca_oob_tcp_msg_complete + 175, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 4] 6
mca_oob_tcp.so                      0x00000000000f588a mca_oob_tcp_peer_send
+ 298, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 5] 7
mca_oob_tcp.so                      0x00000000000f9973 mca_oob_tcp_send_nb +
595, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 6] 8
libopen-rte.0.dylib                 0x000000000002dc4c
mca_oob_send_packed_nb + 204, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 7] 9
mca_gpr_replica.so                  0x00000000002271a0 orte_gpr_replica_recv
+ 304, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 8] 10
libopen-rte.0.dylib                 0x000000000002da13
mca_oob_recv_packed_nb + 403, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [ 9] 11
mca_oob_tcp.so                      0x00000000000f5073
mca_oob_tcp_msg_recv_complete + 771, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [10] 12
mca_oob_tcp.so                      0x00000000000f6400
mca_oob_tcp_peer_lookup + 2240, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [11] 13
libopen-pal.0.dylib                 0x0000000000077f3e opal_event_base_loop
+ 990, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [12] 14
libopen-pal.0.dylib                 0x000000000006e8ce opal_progress + 126,
referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [13] 15
mpiexec                             0x0000000000001b9d orterun + 2242,
referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [14] 16
mpiexec                             0x0000000000001764 orterun + 1161,
referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [15] 17
mpiexec                             0x00000000000012d9 main + 27, referer:
http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] [16] 18
mpiexec                             0x000000000000129c start + 52, referer:
http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1] [NeoDen-1261:07199] *** End
of error message ***, referer: http://localhost:8888/
[Wed Apr 28 20:32:20 2010] [error] [client ::1]
/Users/esrujan/apache2/htdocs/cgi-bin/shell.sh: line 29:  7199 Segmentation
fault      mpiexec -np 10 testmpi, referer: http://localhost:8888/


Can some one help me what the problem is? Why am I not able to run the MPI
using a CGI script.

Thanks a ton for your help,
-- 
Srujan Kumar Enaganti
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20100428/89f967c9/attachment.htm>


More information about the mpich-discuss mailing list