Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id:
45726
Status:
resolved
Priority:
Low/Low

People
Owner:
Nobody in particular
Requestors:
kmx [...] volny.cz
Cc:
AdminCc:

BugTracker
Severity:
(no value)
Broken in:
(no value)
Fixed in:
(no value)



Subject: Perl.exe fails with "The memory could not be read" - 5.10.0 only, 5.8.9 works fine
Date: Tue, 05 May 2009 10:30:13 +0200
To: bug-Perl-Dist-Strawberry@rt.cpan.org
From: kmx <kmx@volny.cz>
Hi,

I have experienced some sort of "a bug" with the following perl script:

---
use namespace::clean -except => 'meta';

print "Before fork\n";
if (my $p = fork ) {
  print "After fork 1: $$\n";
}
else {
  print "After fork 2: $$\n";
}
---

On strawberry perl 5.8.9.0 &
5.8.9. 1 this works fine on strawberry perl 5.10.0.4 & 5.10.0.5 perl.exe fails with error "The instruction at address 0x6a72c777 referenced memory at address 0x00000004. The memory could not be read".

Module "
namespace::clean" seems to be pure perl therefore I guess (but not sure) that there must be "something" in strawberry perl 5.10.x.

--
kmx
Subject: Re: [rt.cpan.org #45726] Perl.exe fails with "The memory could not be read" - 5.10.0 only, 5.8.9 works fine
Date: Wed, 6 May 2009 12:05:07 +1000
To: bug-Perl-Dist-Strawberry@rt.cpan.org
From: Adam Kennedy <adamkennedybackup@gmail.com>
This is something you probably need to bring up with P5P. Are you able to determine the exact line and parameters that causes the crash? Adam K 2009/5/5 kmx via RT <bug-Perl-Dist-Strawberry@rt.cpan.org>:
Show quoted text
> Tue May 05 04:30:44 2009: Request 45726 was acted upon. > Transaction: Ticket created by kmx@volny.cz >       Queue: Perl-Dist-Strawberry >     Subject: Perl.exe fails with "The memory could not be read" - 5.10.0 only, 5.8.9 works fine >   Broken in: (no value) >    Severity: (no value) >       Owner: Nobody >  Requestors: kmx@volny.cz >      Status: new >  Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=45726 > > > > Hi, > > I have experienced some sort of "a bug" with the following perl script: > > --- > use namespace::clean -except => 'meta'; > > print "Before fork\n"; > if (my $p = fork ) { >  print "After fork 1: $$\n"; > } > else { >  print "After fork 2: $$\n"; > } > --- > > On strawberry perl 5.8.9.0 & 5.8.9.1 this works fine on strawberry perl > 5.10.0.4 & 5.10.0.5 perl.exe fails with error "The instruction at > address 0x6a72c777 referenced memory at address 0x00000004. The memory > could not be read". > > Module "namespace::clean" seems to be pure perl therefore I guess (but > not sure) that there must be "something" in strawberry perl 5.10.x. > > -- > kmx > > > Hi, > > I have experienced some sort of "a bug" with the following perl script: > > --- > use namespace::clean -except => 'meta'; > > print "Before fork\n"; > if (my $p = fork ) { >   print "After fork 1: $$\n"; > } > else { >   print "After fork 2: $$\n"; > } > --- > > On strawberry perl 5.8.9.0 & 5.8.9.1 this works fine on strawberry perl 5.10.0.4 & 5.10.0.5 perl.exe fails with error "The instruction at address 0x6a72c777 referenced memory at address 0x00000004. The memory could not be read". > > Module "namespace::clean" seems to be pure perl therefore I guess (but not sure) that there must be "something" in strawberry perl 5.10.x. > > -- > kmx > >
Subject: Re: [rt.cpan.org #45726] Perl.exe fails with "The memory could not be read" - 5.10.0 only, 5.8.9 works fine
Date: Wed, 06 May 2009 08:01:59 +0200
To: bug-Perl-Dist-Strawberry@rt.cpan.org
From: kmx <kmx@volny.cz>
Show quoted text
> Are you able to determine the exact line and parameters that causes the crash?
in the following perl script: 1: use namespace::clean -except => 'meta'; 2: print "Before fork\n"; 3: if (my $p = fork ) { 4: print "After fork 1: $$\n"; 5: } 6: else { 7: print "After fork 2: $$\n"; 8: } it will crash on line 3 during "fork" - but only on 5.10.0, on 5.8.9 it works as expected. -- kmx
Subject: Re: [rt.cpan.org #45726] Perl.exe fails with "The memory could not be read" - 5.10.0 only, 5.8.9 works fine
Date: Wed, 06 May 2009 11:33:00 +0200
To: bug-Perl-Dist-Strawberry@rt.cpan.org
From: kmx <kmx@volny.cz>
Another interesting thing is that the mentioned script works fine on:
- perl 5.10.0 @ Linux
- perl 5.10.0 @ Win32/Cygwin
-
perl 5.8.9 @ Win32/Strawberry

it crashes just on:
- perl 5.10.0 @ Win32/Strawberry (both 5.10.0.4 and 5.10.0.5)

Trying to debug the issue using "gdb" - the crashpoint seems to be:

(gdb) run ...
...
Program received signal SIGSEGV, Segmentation fault.
0x6a72c777 in perl510!Perl_ptr_table_new () from C:\Strawberry\perl\bin\perl510.dll

(gdb) backtrace full
#0  0x6a72c777 in perl510!Perl_ptr_table_new () from C:\Strawberry\perl\bin\perl510.dll
No symbol table info available.
#1  0x6a72c7ae in perl510!Perl_ptr_table_fetch () from C:\Strawberry\perl\bin\perl510.dll
No symbol table info available.
#2  0x6a72cb48 in perl510!Perl_sv_dup () from C:\Strawberry\perl\bin\perl510.dll
No symbol table info available.
#3  0x2e4f11ad in ?? () from C:\Strawberry\perl\site\lib\auto\Variable\Magic\Magic.dll
No symbol table info available.
#4  0x00c4c8ec in ?? ()
No symbol table info available.
#5  0x00a5dba4 in ?? ()
No symbol table info available.
#6  0x0022f7d0 in ?? ()
No symbol table info available.
#7  0x6a76509f in perl510!Perl_safesysmalloc () from C:\Strawberry\perl\bin\perl510.dll
No symbol table info available.
#8  0x2e4f3486 in ?? () from C:\Strawberry\perl\site\lib\auto\Variable\Magic\Magic.dll
No symbol table info available.
#9  0x003f4764 in ?? ()
No symbol table info available.
#10 0x00a3e274 in ?? ()
No symbol table info available.
#11 0x00000000 in ?? ()
No symbol table info available.

I am still not sure whether it is strawberry issue or general perl 510 issue or maybe "
auto\Variable\Magic\Magic.dll" issue.

--
kmx


Subject: Perl.exe crashes with "The memory could not be read" - 5.10.0 only, 5.8.9 works fine
Hi, could somebody please help me to raise this issue to appropriate people? I would appreciate if it could be fixed in 5.10.1 but I do not know where is the right place to report this. Apart from this RT I have also submitted some posts to: https://rt.cpan.org/Ticket/Display.html?id=46546 http://rt.perl.org/rt3/Public/Bug/Display.html?id=66158 and also here http://use.perl.org/~Alias/journal/39305 as a comment to an announcement of new Strawberry release. Broken fork in combination with namespace::clean (or Variable::Magic) on 5.10.0/Win32 is particularly bad new for Catalyst web framework users as namespace::clean is widely used there. some examples that kills 5.10.0/win32: --- use namespace::clean; fork; --- use Variable::Magic 'wizard'; my $w = wizard set => sub{}; fork; --- -- kmx
Fixed in 5.10.1 - so this RT could be closed with October release. -- kmx
Closing with October beta 2 release.


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.