Ticket #721 (closed bug: wontfix)

Opened 5 years ago

Last modified 3 years ago

PGE::P5Regex consumes all memory

Reported by: coke Owned by: pmichaud
Priority: normal Milestone:
Component: PGE Version: trunk
Severity: high Keywords:
Cc: pmichaud Language: tcl
Patch status: Platform:

Description

Given this code:

$ cat regex.pir
.sub ''
   say "1..2"
   load_bytecode 'PGE.pbc'
   .local string exp, a_string, original_string
   exp      = '($|^X)*'
   a_string = ''

   .local pmc tclARE, rule, match

   tclARE = compreg 'PGE::P5Regex'
   rule = tclARE(exp)
   say "ok 1"
   match = rule(a_string)
   say "ok 2"
.end

running it (eventually) dies with:

$ ~/bird/bin/parrot regexp.pir
1..2
ok 1
Parrot VM: PANIC: Out of mem!
C file src/gc/alloc_memory.c, line 52
Parrot file (not available), line (not available)

We highly suggest you notify the Parrot team if you have not been working on
Parrot.  Use parrotbug (located in parrot's root directory) or send an
e-mail to parrot-dev@lists.parrot.org.
Include the entire text of this error message and the text of the script that
generated the error.  If you've made any modifications to Parrot, please
describe them as well.

Version     : 1.2.0-devel
Configured  : Thu May 28 00:11:20 2009 GMT
Architecture: i386-linux
JIT Capable : Yes
Interp Flags: (no interpreter)
Exceptions  : (missing from core)

Dumping Core...
Quit

This prevents tcl's regexComp.test spec test from completing.

Change History

Changed 5 years ago by coke

pmichaud++ pointed out that this was already opened as RT #37745!

Changed 5 years ago by coke

This is causing 3 partcl spec test failures: regexpComp, regexp, and reg; there are 134 uncounted passing tests as a result of the memory PANICs.

Changed 5 years ago by coke

  • lang set to tcl

Changed 5 years ago by jkeenan

  • component changed from none to hll_interop

Changed 5 years ago by coke

  • owner set to pmichaud
  • component changed from hll_interop to PGE

Changed 5 years ago by coke

  • keywords tcl blocker removed

This is no longer blocking tcl's spec tests, but only because this particular regexp is disabled for [regex].

Changed 3 years ago by pmichaud

  • status changed from new to closed
  • resolution set to wontfix

Since PGE is no longer being actively maintained, marking this bug as "wontfix". (N.B.: The bug also exists in nqp-rx as well; halting quantification of zero-width patterns isn't something we've quite gotten a handle on yet.)

Thanks!

Pm

Note: See TracTickets for help on using tickets.