call subroutine by pyperl
Kenny <[email protected]> Wed, 31 Mar 2010 21:01:10 +0800
| Newsgroups | gmane.comp.web.zope.perl |
|---|---|
| Message-ID | <[email protected]> |
--===============6931341027682510243==
Content-Type: multipart/alternative; boundary=0016e64c3ba22020a5048318579c
--0016e64c3ba22020a5048318579c
Content-Type: text/plain; charset=ISO-8859-1
Dear all,
I have a question about pyperl.
there is a perl module test.pm:
#! /usr/bin/perl
package tset
sub Cal {
my ($v1,$v2)=@_;
my $result=$v1+$v2;
}
print "this is a test \n";
1;
And there is a python file that calls the module above,
import perl
perl.require("test");
#perl.call("Usage","test1.pl")
#perl.call("test::Usage", "1")
b=perl.call("test::Cal", 1, 1)
print b
when run, I got a error message shown below: (can anyone tell me the reason?
many thanks)
##################################error message####################
kenny@kenny-laptop:~/Desktop$ python test.py
it is a test
2
*** glibc detected *** python: free(): invalid pointer: 0xb7d7b1a0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7e02a85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e064f0]
/usr/lib/python2.5/site-packages/perl2.so[0xb7cc772d]
python[0x80855a9]
python(PyDict_SetItem+0x6e)[0x8086f8e]
python(_PyModule_Clear+0x158)[0x8088bf8]
python(PyImport_Cleanup+0x152)[0x80de3d2]
python(Py_Finalize+0xbf)[0x80ea41f]
python(Py_Main+0x468)[0x8058d68]
python(main+0x22)[0x80587f2]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7dad450]
python[0x8058761]
======= Memory map: ========
08048000-08140000 r-xp 00000000 08:05 2613978 /usr/bin/python2.5
08140000-08165000 rw-p 000f7000 08:05 2613978 /usr/bin/python2.5
08165000-08284000 rw-p 08165000 00:00 0 [heap]
b7900000-b7921000 rw-p b7900000 00:00 0
b7921000-b7a00000 ---p b7921000 00:00 0
b7a44000-b7a4e000 r-xp 00000000 08:05 1409036 /lib/libgcc_s.so.1
b7a4e000-b7a4f000 rw-p 0000a000 08:05 1409036 /lib/libgcc_s.so.1
b7a5b000-b7a68000 r-xp 00000000 08:05 3008570
/usr/local/lib/perl/5.8.8/auto/Python/Object/Object.so
b7a68000-b7a69000 rw-p 0000c000 08:05 3008570
/usr/local/lib/perl/5.8.8/auto/Python/Object/Object.so
b7a69000-b7a8a000 rw-p b7a69000 00:00 0
b7a8a000-b7b6b000 r--p 00000000 08:05 2638705
/usr/lib/locale/en_US.utf8/LC_COLLATE
b7b6b000-b7b74000 r-xp 00000000 08:05 1426495 /lib/tls/i686/cmov/
libcrypt-2.7.so
b7b74000-b7b76000 rw-p 00008000 08:05 1426495 /lib/tls/i686/cmov/
libcrypt-2.7.so
b7b76000-b7b9d000 rw-p b7b76000 00:00 0
b7b9d000-b7cb8000 r-xp 00000000 08:05 2613267 /usr/lib/libperl.so.5.8.8
b7cb8000-b7cbd000 rw-p 0011a000 08:05 2613267 /usr/lib/libperl.so.5.8.8
b7cbd000-b7cbf000 rw-p b7cbd000 00:00 0
b7cbf000-b7ccb000 r-xp 00000000 08:05 705539
/usr/lib/python2.5/site-packages/perl2.so
b7ccb000-b7ccc000 rw-p 0000b000 08:05 705539
/usr/lib/python2.5/site-packages/perl2.so
b7ccc000-b7ccd000 r-xp 00000000 08:05 705537
/usr/lib/python2.5/site-packages/perl.so
b7ccd000-b7cce000 rw-p 00000000 08:05 705537
/usr/lib/python2.5/site-packages/perl.so
b7cce000-b7cd5000 r--s 00000000 08:05 2622378
/usr/lib/gconv/gconv-modules.cache
b7cd5000-b7d14000 r--p 00000000 08:05 2638706
/usr/lib/locale/en_US.utf8/LC_CTYPE
b7d14000-b7d97000 rw-p b7d14000 00:00 0
b7d97000-b7ee0000 r-xp 00000000 08:05 1426493 /lib/tls/i686/cmov/
libc-2.7.so
b7ee0000-b7ee1000 r--p 00149000 08:05 1426493 /lib/tls/i686/cmov/
libc-2.7.so
b7ee1000-b7ee3000 rw-p 0014a000 08:05 1426493 /lib/tls/i686/cmov/
libc-2.7.so
b7ee3000-b7ee6000 rw-p b7ee3000 00:00 0
b7ee6000-b7f09000 r-xp 00000000 08:05 1426497 /lib/tls/i686/cmov/
libm-2.7.so
b7f09000-b7f0b000 rw-p 00023000 08:05 1426497 /lib/tls/i686/cmov/
libm-2.7.so
b7f0b000-b7f0d000 r-xp 00000000 08:05 1426512 /lib/tls/i686/cmov/
libutil-2.7.so
b7f0d000-b7f0f000 rw-p 00001000 08:05 1426512 /lib/tls/i686/cmov/
libutil-2.7.so
b7f0f000-b7f10000 rw-p b7f0f000 00:00 0
b7f10000-b7f12000 r-xp 00000000 08:05 1426496 /lib/tls/i686/cmov/
libdl-2.7.so
b7f12000-b7f14000 rw-p 00001000 08:05 1426496 /lib/tls/i686/cmov/
libdl-2.7.so
b7f14000-b7f28000 r-xp 00000000 08:05 1426507 /lib/tls/i686/cmov/
libpthread-2.7.so
b7f28000-b7f2a000 rw-p 00013000 08:05 1426507 /lib/tls/i686/cmov/
libpthread-2.7.so
b7f2a000-b7f2c000 rw-p b7f2a000 00:00 0
b7f2d000-b7f2e000 rw-p b7f2d000 00:00 0
b7f2e000-b7f2f000 r--p 00000000 08:05 2638723
/usr/lib/locale/en_US.utf8/LC_NUMERIC
b7f2f000-b7f30000 r--p 00000000 08:05 2637982
/usr/lib/locale/en_US.utf8/LC_TIME
b7f30000-b7f31000 r--p 00000000 08:05 2637983
/usr/lib/locale/en_US.utf8/LC_MONETARY
b7f31000-b7f32000 r--p 00000000 08:05 2646018
/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b7f32000-b7f33000 r--p 00000000 08:05 2638724
/usr/lib/locale/en_US.utf8/LC_PAPER
b7f33000-b7f34000 r--p 00000000 08:05 2638722
/usr/lib/locale/en_US.utf8/LC_NAME
b7f34000-b7f35000 r--p 00000000 08:05 2637984
/usr/lib/locale/en_US.utf8/LC_ADDRESS
b7f35000-b7f36000 r--p 00000000 08:05 2637985
/usr/lib/locale/en_US.utf8/LC_TELEPHONE
b7f36000-b7f37000 r--p 00000000 08:05 2637986
/usr/lib/locale/en_US.utf8/LC_MEASUREMENT
b7f37000-b7f38000 r--p 00000000 08:05 2637987
/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
b7f38000-b7f3a000 rw-p b7f38000 00:00 0
b7f3a000-b7f3b000 r-xp b7f3a000 00:00 0 [vdso]
b7f3b000-b7f55000 r-xp 00000000 08:05 1409643 /lib/ld-2.7.so
b7f55000-b7f57000 rw-p 00019000 08:05 1409643 /lib/ld-2.7.so
bfb9e000-bfbb3000 rw-p bffeb000 00:00 0 [stack]
Aborted
--
Best regards,
Kenny
--0016e64c3ba22020a5048318579c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Dear all,<br><br>I have a question about pyperl.<br><br>there is a perl mod=
ule <a href=3D"http://test.pm">test.pm</a>:<br>#! /usr/bin/perl<br>package =
tset<br>sub Cal {<br>my ($v1,$v2)=3D@_;<br>my $result=3D$v1+$v2;<br>}<br>pr=
int "this is a test \n";<br>
1;<br><br>And there is a python file that calls the module above,<br>import=
perl<br>perl.require("test");<br>#perl.call("Usage",&q=
uot;<a href=3D"http://test1.pl">test1.pl</a>")<br>#perl.call("tes=
t::Usage", "1")<br>
b=3Dperl.call("test::Cal", 1, 1)<br>print b<br><br>when run, I go=
t a error message shown below: (can anyone tell me the reason? many thanks)=
<br><span style=3D"background-color: rgb(255, 0, 0);">#####################=
#############error message####################</span><br clear=3D"all">
kenny@kenny-laptop:~/Desktop$ python test.py <br>it is a test <br>2<br>*** =
glibc detected *** python: free(): invalid pointer: 0xb7d7b1a0 ***<br>=3D=
=3D=3D=3D=3D=3D=3D Backtrace: =3D=3D=3D=3D=3D=3D=3D=3D=3D<br>/lib/tls/i686/=
cmov/libc.so.6[0xb7e02a85]<br>
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7e064f0]<br>/usr/lib/python2.5/=
site-packages/perl2.so[0xb7cc772d]<br>python[0x80855a9]<br>python(PyDict_Se=
tItem+0x6e)[0x8086f8e]<br>python(_PyModule_Clear+0x158)[0x8088bf8]<br>pytho=
n(PyImport_Cleanup+0x152)[0x80de3d2]<br>
python(Py_Finalize+0xbf)[0x80ea41f]<br>python(Py_Main+0x468)[0x8058d68]<br>=
python(main+0x22)[0x80587f2]<br>/lib/tls/i686/cmov/libc.so.6(__libc_start_m=
ain+0xe0)[0xb7dad450]<br>python[0x8058761]<br>=3D=3D=3D=3D=3D=3D=3D Memory =
map: =3D=3D=3D=3D=3D=3D=3D=3D<br>
08048000-08140000 r-xp 00000000 08:05 2613978=A0=A0=A0 /usr/bin/python2.5<b=
r>08140000-08165000 rw-p 000f7000 08:05 2613978=A0=A0=A0 /usr/bin/python2.5=
<br>08165000-08284000 rw-p 08165000 00:00 0=A0=A0=A0=A0=A0=A0=A0=A0=A0 [hea=
p]<br>b7900000-b7921000 rw-p b7900000 00:00 0 <br>
b7921000-b7a00000 ---p b7921000 00:00 0 <br>b7a44000-b7a4e000 r-xp 00000000=
08:05 1409036=A0=A0=A0 /lib/libgcc_s.so.1<br>b7a4e000-b7a4f000 rw-p 0000a0=
00 08:05 1409036=A0=A0=A0 /lib/libgcc_s.so.1<br>b7a5b000-b7a68000 r-xp 0000=
0000 08:05 3008570=A0=A0=A0 /usr/local/lib/perl/5.8.8/auto/Python/Object/Ob=
ject.so<br>
b7a68000-b7a69000 rw-p 0000c000 08:05 3008570=A0=A0=A0 /usr/local/lib/perl/=
5.8.8/auto/Python/Object/Object.so<br>b7a69000-b7a8a000 rw-p b7a69000 00:00=
0 <br>b7a8a000-b7b6b000 r--p 00000000 08:05 2638705=A0=A0=A0 /usr/lib/loca=
le/en_US.utf8/LC_COLLATE<br>
b7b6b000-b7b74000 r-xp 00000000 08:05 1426495=A0=A0=A0 /lib/tls/i686/cmov/<=
a href=3D"http://libcrypt-2.7.so">libcrypt-2.7.so</a><br>b7b74000-b7b76000 =
rw-p 00008000 08:05 1426495=A0=A0=A0 /lib/tls/i686/cmov/<a href=3D"http://l=
ibcrypt-2.7.so">libcrypt-2.7.so</a><br>
b7b76000-b7b9d000 rw-p b7b76000 00:00 0 <br>b7b9d000-b7cb8000 r-xp 00000000=
08:05 2613267=A0=A0=A0 /usr/lib/libperl.so.5.8.8<br>b7cb8000-b7cbd000 rw-p=
0011a000 08:05 2613267=A0=A0=A0 /usr/lib/libperl.so.5.8.8<br>b7cbd000-b7cb=
f000 rw-p b7cbd000 00:00 0 <br>
b7cbf000-b7ccb000 r-xp 00000000 08:05 705539=A0=A0=A0=A0 /usr/lib/python2.5=
/site-packages/perl2.so<br>b7ccb000-b7ccc000 rw-p 0000b000 08:05 705539=A0=
=A0=A0=A0 /usr/lib/python2.5/site-packages/perl2.so<br>b7ccc000-b7ccd000 r-=
xp 00000000 08:05 705537=A0=A0=A0=A0 /usr/lib/python2.5/site-packages/perl.=
so<br>
b7ccd000-b7cce000 rw-p 00000000 08:05 705537=A0=A0=A0=A0 /usr/lib/python2.5=
/site-packages/perl.so<br>b7cce000-b7cd5000 r--s 00000000 08:05 2622378=A0=
=A0=A0 /usr/lib/gconv/gconv-modules.cache<br>b7cd5000-b7d14000 r--p 0000000=
0 08:05 2638706=A0=A0=A0 /usr/lib/locale/en_US.utf8/LC_CTYPE<br>
b7d14000-b7d97000 rw-p b7d14000 00:00 0 <br>b7d97000-b7ee0000 r-xp 00000000=
08:05 1426493=A0=A0=A0 /lib/tls/i686/cmov/<a href=3D"http://libc-2.7.so">l=
ibc-2.7.so</a><br>b7ee0000-b7ee1000 r--p 00149000 08:05 1426493=A0=A0=A0 /l=
ib/tls/i686/cmov/<a href=3D"http://libc-2.7.so">libc-2.7.so</a><br>
b7ee1000-b7ee3000 rw-p 0014a000 08:05 1426493=A0=A0=A0 /lib/tls/i686/cmov/<=
a href=3D"http://libc-2.7.so">libc-2.7.so</a><br>b7ee3000-b7ee6000 rw-p b7e=
e3000 00:00 0 <br>b7ee6000-b7f09000 r-xp 00000000 08:05 1426497=A0=A0=A0 /l=
ib/tls/i686/cmov/<a href=3D"http://libm-2.7.so">libm-2.7.so</a><br>
b7f09000-b7f0b000 rw-p 00023000 08:05 1426497=A0=A0=A0 /lib/tls/i686/cmov/<=
a href=3D"http://libm-2.7.so">libm-2.7.so</a><br>b7f0b000-b7f0d000 r-xp 000=
00000 08:05 1426512=A0=A0=A0 /lib/tls/i686/cmov/<a href=3D"http://libutil-2=
.7.so">libutil-2.7.so</a><br>
b7f0d000-b7f0f000 rw-p 00001000 08:05 1426512=A0=A0=A0 /lib/tls/i686/cmov/<=
a href=3D"http://libutil-2.7.so">libutil-2.7.so</a><br>b7f0f000-b7f10000 rw=
-p b7f0f000 00:00 0 <br>b7f10000-b7f12000 r-xp 00000000 08:05 1426496=A0=A0=
=A0 /lib/tls/i686/cmov/<a href=3D"http://libdl-2.7.so">libdl-2.7.so</a><br>
b7f12000-b7f14000 rw-p 00001000 08:05 1426496=A0=A0=A0 /lib/tls/i686/cmov/<=
a href=3D"http://libdl-2.7.so">libdl-2.7.so</a><br>b7f14000-b7f28000 r-xp 0=
0000000 08:05 1426507=A0=A0=A0 /lib/tls/i686/cmov/<a href=3D"http://libpthr=
ead-2.7.so">libpthread-2.7.so</a><br>
b7f28000-b7f2a000 rw-p 00013000 08:05 1426507=A0=A0=A0 /lib/tls/i686/cmov/<=
a href=3D"http://libpthread-2.7.so">libpthread-2.7.so</a><br>b7f2a000-b7f2c=
000 rw-p b7f2a000 00:00 0 <br>b7f2d000-b7f2e000 rw-p b7f2d000 00:00 0 <br>b=
7f2e000-b7f2f000 r--p 00000000 08:05 2638723=A0=A0=A0 /usr/lib/locale/en_US=
.utf8/LC_NUMERIC<br>
b7f2f000-b7f30000 r--p 00000000 08:05 2637982=A0=A0=A0 /usr/lib/locale/en_U=
S.utf8/LC_TIME<br>b7f30000-b7f31000 r--p 00000000 08:05 2637983=A0=A0=A0 /u=
sr/lib/locale/en_US.utf8/LC_MONETARY<br>b7f31000-b7f32000 r--p 00000000 08:=
05 2646018=A0=A0=A0 /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES<=
br>
b7f32000-b7f33000 r--p 00000000 08:05 2638724=A0=A0=A0 /usr/lib/locale/en_U=
S.utf8/LC_PAPER<br>b7f33000-b7f34000 r--p 00000000 08:05 2638722=A0=A0=A0 /=
usr/lib/locale/en_US.utf8/LC_NAME<br>b7f34000-b7f35000 r--p 00000000 08:05 =
2637984=A0=A0=A0 /usr/lib/locale/en_US.utf8/LC_ADDRESS<br>
b7f35000-b7f36000 r--p 00000000 08:05 2637985=A0=A0=A0 /usr/lib/locale/en_U=
S.utf8/LC_TELEPHONE<br>b7f36000-b7f37000 r--p 00000000 08:05 2637986=A0=A0=
=A0 /usr/lib/locale/en_US.utf8/LC_MEASUREMENT<br>b7f37000-b7f38000 r--p 000=
00000 08:05 2637987=A0=A0=A0 /usr/lib/locale/en_US.utf8/LC_IDENTIFICATION<b=
r>
b7f38000-b7f3a000 rw-p b7f38000 00:00 0 <br>b7f3a000-b7f3b000 r-xp b7f3a000=
00:00 0=A0=A0=A0=A0=A0=A0=A0=A0=A0 [vdso]<br>b7f3b000-b7f55000 r-xp 000000=
00 08:05 1409643=A0=A0=A0 /lib/<a href=3D"http://ld-2.7.so">ld-2.7.so</a><b=
r>b7f55000-b7f57000 rw-p 00019000 08:05 1409643=A0=A0=A0 /lib/<a href=3D"ht=
tp://ld-2.7.so">ld-2.7.so</a><br>
bfb9e000-bfbb3000 rw-p bffeb000 00:00 0=A0=A0=A0=A0=A0=A0=A0=A0=A0 [stack]<=
br>Aborted<br><br>-- <br>Best regards,<br> <br>Kenny <br>
--0016e64c3ba22020a5048318579c--
--===============6931341027682510243==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Zope-perl maillist - [email protected]
https://mail.zope.org/mailman/listinfo/zope-perl
--===============6931341027682510243==--