Skip to content
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

'say $!.WHAT' inside a CATCH block segfaults #1308

Closed
p6rt opened this issue Sep 23, 2009 · 3 comments
Closed

'say $!.WHAT' inside a CATCH block segfaults #1308

p6rt opened this issue Sep 23, 2009 · 3 comments

Comments

@p6rt
Copy link

p6rt commented Sep 23, 2009

Migrated from rt.perl.org#69308 (status was 'resolved')

Searchable as RT69308$

@p6rt
Copy link
Author

p6rt commented Sep 23, 2009

From @moritz

Rakudo 3d6536797861db887cdb4479610e10415e343628 on parrot r41410​:

This program segfaults​:

try {
  die 'foo';
  CATCH {
  say $!.WHAT
  }
}

Stack trace​:

(gdb) run foo.pl
Starting program​: /scratch/mlenz/rakudo/perl6 foo.pl
[Thread debugging using libthread_db enabled]
warning​: Lowest section in /usr/lib/libicudata.so.38 is .hash at
000000000000012
0
[New Thread 0x7fe894fef6f0 (LWP 19268)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fe894fef6f0 (LWP 19268)]
Parrot_FixedPMCArray_visit (interp=0x24e2010, pmc=0x7fe8907668a0,
  info=0x7fff9d01d5d0) at ./src/pmc/fixedpmcarray.pmc​:734
734 (info->visit_pmc_now)(INTERP, *pos, info);
(gdb) bt
#​0 Parrot_FixedPMCArray_visit (interp=0x24e2010, pmc=0x7fe8907668a0,
  info=0x7fff9d01d5d0) at ./src/pmc/fixedpmcarray.pmc​:734
#​1 0x00007fe894a66ee3 in visit_loop_todo_list (interp=0x24e2010,
  current=0x7fe8907668a0, info=0x7fff9d01d5d0) at src/pmc_freeze.c​:1099
#​2 0x00007fe894a6716f in Parrot_freeze (interp=0x24e2010,
pmc=0x7fe88dfd0980)
  at src/pmc_freeze.c​:1277
#​3 0x00007fe894abeb79 in Parrot_default_clone (interp=0x24e2010,
  pmc=0x7fe8907d83c0) at ./src/pmc/default.pmc​:1086
#​4 0x00007fe894a603cf in Parrot_oo_clone_object (interp=0x24e2010,
  pmc=<value optimized out>, class_=<value optimized out>,
  dest=<value optimized out>) at src/oo.c​:303
#​5 0x00007fe8949ddfdb in Parrot_clone_p_p (cur_opcode=0x7fe891cb8a60,
  interp=0x24e2010) at src/ops/set.ops​:474
#​6 0x00007fe894a6978f in runops_slow_core (interp=0x24e2010,
  runcore=<value optimized out>, pc=0x7fe891cb8a60)
  at src/runcore/cores.c​:843
#​7 0x00007fe894a68741 in runops_int (interp=0x24e2010, offset=342590)
  at src/runcore/main.c​:549
#​8 0x00007fe894a3b621 in runops (interp=0x24e2010, offs=<value
optimized out>)
  at src/call/ops.c​:119
#​9 0x00007fe894a3b7d1 in runops_args (interp=0x24e2010,
sub=0x7fe88faa7400,
  obj=<value optimized out>, meth_unused=<value optimized out>,
  sig=0x7fe894b787fb "vP", ap=0x7fff9d01d7e0) at src/call/ops.c​:269
---Type <return> to continue, or q <return> to quit---
#​10 0x00007fe894a3bf68 in Parrot_runops_fromc_args (interp=0x24e2010,
  sub=0x7fe8907d83c0, sig=0x7fe894b787fb "vP") at src/call/ops.c​:338
#​11 0x0000000000400d5b in main (argc=2, argv=0x7fff9d01d9d8) at
perl6.c​:244536

@p6rt
Copy link
Author

p6rt commented Mar 24, 2010

From @moritz

Tested in t/spec/integration/weird-errors.t, does not segfault anymore.

@p6rt
Copy link
Author

p6rt commented Mar 24, 2010

@moritz - Status changed from 'new' to 'resolved'

@p6rt p6rt closed this as completed Mar 24, 2010
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant