ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> pdk-beta
pdk-beta
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

Privacy Policy | Email Opt-out | Feedback | Syndication
© 2004 ActiveState, a division of Sophos All rights reserved