-
Notifications
You must be signed in to change notification settings - Fork 559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5.6, source filters, modules, and __END__ go boom #1503
Comments
From [email protected]When you have a source filter in a module that has an __END__ or Main program: #!/data/perl/bin/perl -w use Module; Module.pm: package Module; __END__ MyFilter.pm: package MyFilter; This was originally from Rocco Caputo, the POE author. The core is #0 0x28163a6c in closedir () from /usr/lib/libc.so.3 Source filters use the directory portion of the IO SV. They have a Here's the offending IO sv: (gdb) print *(struct xpvio *)sv Perhaps it's something that isn't an IO SV but which is marked as Nat |
From @gsarOn Sat, 25 Mar 2000 23:15:33 MST, Nathan Torkington wrote:
PL_rsfp doesn't have IoDIRP set, so the IOf_FAKE_DIRP flag is not
If I were you, I'd check Filter to see if it creates any io structure, Sarathy |
From @gsarOn Sat, 25 Mar 2000 22:41:55 PST, I wrote:
A quick look shows Filter/Call/Call.xs annihilates IoFLAGS: #define CODE_REF(sv) IoFLAGS(sv) Oops. Sarathy |
From [Unknown Contact. See original ticket]Gurusamy Sarathy writes:
I think the idea is that this is a special kind of SV, which ought If someone would like to go through that stack trace showing me I've worked out: main Perl parse use Module execution of the Module's code in a BEGIN block or is it that 'use' These are from the execution of the module's code: When the file scope of the module's code ends, there's scope cleanup: And now there's the weird mess of things being freed, which I can't Nat |
From @pmqsFrom: Gurusamy Sarathy [gsar@ActiveState.com]
I can't reproduce the __END__/__DATA__ problem on my Linux box at all This patch applies over a fresh copy of Filter-1.17. As well as the Paul begin 664 Filter-1.18.patch.gz |
From [Unknown Contact. See original ticket]On Sun, 26 Mar 2000 22:26:58 +0100, Marquess,P,Paul,NEL38 R wrote:
The problem happens on my FreeBSD machine, even with your attached patches. # Treat it as EOF. Double-oddly, it doesn't occur on perl 5.005_63+ for OS/2. Detailed -- Rocco Caputo / troc@netrus.net unix:/usr/home/troc/perl/xws$ perl -V Characteristics of this binary (from libperl): [d:\home\troc>perl -V Characteristics of this binary (from libperl): |
From @pmqsFrom: Rocco Caputo [mailto:troc@netrus.net]
The workaround will work most of the time. It would be difficult to do get $a = <<EOM ; hello print $a ;
Hmmm, I think this may be due to IOf_FAKE_DIRP being a recent addition to Do you have a 5.6.0 about to try a before and after test? Paul |
From [Unknown Contact. See original ticket]On Mon, 27 Mar 2000 13:34:50 +0100, paul.marquess@bt.com wrote:
True, true. I'm currently the target audience for the POE::Preprocessor
I don't, sorry, but I can test it on 5.005_63.
-- Rocco Caputo / troc@netrus.net |
[email protected] - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#2717 (status was 'resolved')
Searchable as RT2717$
The text was updated successfully, but these errors were encountered: