Re: [PDK-Beta] stack trace using pdk 7
by Jan Dubois other posts by this author
Feb 22 2007 1:02PM messages near this date
view in the new Beta List Site
Re: [PDK-Beta] stack trace using pdk 7
|
Re: [PDK-Beta] stack trace using pdk 7
There is one major difference between PDK6 and PDK 7 on Unix:
PDK 6 will always use a statically linked version of the Perl library, and it will be the on
e that the PDK has been built with. This is also the reason why there is no â??xclude optio
n on Unix; the libperl.a stuff is always included in every generated executable.
In PDK 7 weâ??ll use libperl.so (or libperl.sl, or libperl.dylib). We try to use the versio
n from the local ActivePerl, but that is only possible for very recent ActivePerl releases.
Older versions didnâ??t include the shared object file at all, or didnâ??t include the stat
ically linked DynaLoader.xs code in libperl. Using libperl now makes it possible to support
â??xclude, or re-using the Perl library from another executable using the â??shared and â??u
se options.
You do get a warning if you are running PerlApp with the â??verbose option when PerlApp has
to use the bundled libperl instead of the local one. Warning messages are suppressed when y
ou are not using â??verbose, so you will not see this message normally. But it isnâ??t an er
ror anyways, as the bundled libperl should be compatible with most older modules.
For this reason I would really like to find out if there are any libperl compatibility issue
s regarding tied hashes. I understand that it may be hard to narrow down the problem in a h
uge application, but maybe you could at least try to determine if you use any common modules
that are using tied hashes in their implementation?
Cheers,
-Jan
From: mathieu.longtin@[...].com [mailto:mathieu.longtin@[...].com] On Behalf Of Mathieu Long
tin
Sent: February 22, 2007 12:25 PM
To: Jan Dubois
Cc: pdk-beta@[...].com
Subject: Re: [PDK-Beta] stack trace using pdk 7
I'll try ActivePerl 820, and/or PDK6.
This application has over 10K lines, I don't think I can find the problem that easily.
Btw, since Perlapp links in its own perl library, rather than the one from the ActivePerl di
rectory, would it possible to have a warning when the two don't match? It's not the first ti
me I have trouble with that, and it only happens on linux, so the windows version works fine
, but the linux version screws up.
-Mathieu
On 2/22/07, Jan Dubois <jand@[...].com> wrote:
Hi Mathieu,
Is it possible to send me reproducible test case for this? The crash is related to cleanup
of memory structures used to access tied hashes, so maybe you could look for any use of tied
hashes in your application, and then write a simple program using the same tied hash module
, and see if it crashes too?
I'm also interested to know if the crash would go away if you used ActivePerl 820 for buildi
ng the application.
Cheers,
-Jan
From: pdk-beta-bounces@[...].com <mailto:pdk-beta-bounces@[...].com> [mailto:pdk-beta-bounc
es@[...].com] On Behalf Of Mathieu Longtin
Sent: February 22, 2007 12:05 PM
To: pdk-beta@[...].com
Subject: [PDK-Beta] stack trace using pdk 7
Using pdk (from this file PDK-Pro-6.9.92.275147-linux.tar.gz), I have an executable that die
s with a stack trace (see below). The executable was built on Fedora Core 3 with ActivePerl
813.
The problem execution happened on an install of Fedore Core 4 with no activeperl installed.
Any idea as of why this would happen?
I have to admit we were happily using PDK 5.3 until we need to use encoding "UTF-8", which d
oesn't work with the older PDK for some reason.
*** glibc detected *** /home/ab/ae1026/bin/usage_be: double free or corruption (fasttop): 0x
08caea38 ***
======= Backtrace: =========
/lib/libc.so.6[0x6ae124]
/lib/libc.so.6(__libc_free+0x77)[0x6ae65f]
/tmp/pdk-ab/cb254630414b6e03692a6e3d1e557812/libperl.so(Perl_safesysfree+0x21)[0xb7b7bd55]
/tmp/pdk-ab/cb254630414b6e03692a6e3d1e557812/libperl.so(Perl_free_tied_hv_pool+0x2f)[0xb7b86
ea7]
/tmp/pdk-ab/cb254630414b6e03692a6e3d1e557812/libperl.so(perl_destruct+0xe18)[0xb7b8d22c]
/home/ab/ae1026/bin/usage_be(paperl_destruct+0x15b)[0x804fef7]
/home/ab/ae1026/bin/usage_be(paperl_main+0x3f)[0x805011b]
/home/ab/ae1026/bin/usage_be(main+0x146)[0x804ae56]
/lib/libc.so.6(__libc_start_main+0xdf)[0x65fd5f]
/home/ab/ae1026/bin/usage_be(geteuid+0x59)[0x804ac31]
======= Memory map: ========
0062d000-00647000 r-xp 00000000 08:02 589842 /lib/ld- 2.3.5.so
00647000-00648000 r-xp 00019000 08:02 589842 /lib/ld-2.3.5.so
00648000-00649000 rwxp 0001a000 08:02 589842 /lib/ld- 2.3.5.so <http://2.3.5.so>
0064b000-0076e000 r-xp 00000000 08:02 589851 /lib/libc-2.3.5.so
0076e000-00770000 r-xp 00123000 08:02 589851 /lib/libc-2.3.5.so
00770000-00772000 rwxp 00125000 08:02 589851 /lib/libc- 2.3.5.so
00772000-00774000 rwxp 00772000 00:00 0
...
--
Mathieu Longtin
1-514-803-8977
Thread:
Mathieu Longtin
Jan Dubois
Mathieu Longtin
Jan Dubois
Mathieu Longtin
|