Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re^2: Segfault with MooseX::Declare and Regexp::Grammars

by betterworld (Curate)
on Feb 27, 2011 at 13:24 UTC ( #890414=note: print w/replies, xml ) Need Help??

in reply to Re: Segfault with MooseX::Declare and Regexp::Grammars
in thread Segfault with MooseX::Declare and Regexp::Grammars

Have you tried rewriting your program to use plain old Perl objects (no Moose::Declare)

As stated above, the issue disappears when I get rid of MooseX::Declare and use plain Moose or even plain objects like this:

{ package Foo; sub new { use Data::Dumper; print 'AH ', Dumper \@_; return bless {}; } }
can you have a null grammar qr{}

I need the "objrule" to have Regexp::Grammars call the constructor, so the grammar cannot be reduced much further.

Replies are listed 'Best First'.
Re^3: Segfault with MooseX::Declare and Regexp::Grammars
by ELISHEVA (Prior) on Feb 27, 2011 at 13:41 UTC

    If plain Perl objects and plain Moose objects don't cause this problem, could you clarify further what you are trying to pinpoint. What makes you unsure that this isn't an issue with MooseX::Declare and whatever magic it is conjuring up?

    It would seem to me that newer add-on packages like MooseX::Declare have a responsibility to work cleanly with core packages like Data::Dumper, as well as any non-core packages they extend (i.e. Moose). This is all the more so with something like MooseX::Declare which claims to be a safer way of doing the kinds of things people once tried to do with source filters.

      You are right that it is likely that the bug is in MooseX::Declare or one of its dependencies. I would like to find a way to reproduce this without resorting to other complicated modules like Regexp::Grammars (even though this module is pure Perl).

      Update: Other segmentation faults have already been described that are triggered by RGís extensive use of the regex engine, so itís not that unlikely that the culprit is in the regex engine.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://890414]
[james28909]: how can i write a while loop on one line (in a script) something like print "this\n" && print "that" && <DATA> && print the other\n" && next if /this matches/ while <DATA>?
[james28909]: i have tried with && and and and have tried to rearrange the functions as well to no avail

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2018-05-20 18:40 GMT
Find Nodes?
    Voting Booth?