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

Segmentation fault/GC assertion failure when using NativeCall #2834

Closed
p6rt opened this issue Jul 21, 2012 · 4 comments
Closed

Segmentation fault/GC assertion failure when using NativeCall #2834

p6rt opened this issue Jul 21, 2012 · 4 comments

Comments

@p6rt
Copy link

p6rt commented Jul 21, 2012

Migrated from rt.perl.org#114228 (status was 'rejected')

Searchable as RT114228$

@p6rt
Copy link
Author

p6rt commented Jul 21, 2012

From @hoelzro

Hello,

I'm trying to develop a chat bot using Rakudo Perl 6, and I'd like to
use DBIish to store persistent data, like user karma. However, I'm
running into an "interesting" issue when I use DBIish, and it seems to
be coming from NativeCall. If I run the following program​:

http://hoelz.ro/files/assertion-failure.p6

I get the following output​:

src/gc/gc_gms.c​:1155​: failed assertion '!PObj_on_free_list_TEST(pmc) || !"Resurrecting of dead objects is not supported"'
Backtrace - Obtained 32 stack frames (max trace depth is 32).
/lib/libparrot.so.4.6.0(+0x194195) [0x7f0af119c195]
/lib/libparrot.so.4.6.0(Parrot_confess+0x8a) [0x7f0af119c15a]
/lib/libparrot.so.4.6.0(+0x1a2dcf) [0x7f0af11aadcf]
/lib/libparrot.so.4.6.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7f0af11a179d]
/usr/lib/parrot/4.6.0/dynext/nqp_ops.so(+0x44a6d) [0x7f0aed48fa6d]
/usr/lib/parrot/4.6.0/dynext/nqp_group.so(+0x1fc0f) [0x7f0aed8f5c0f]
/lib/libparrot.so.4.6.0(+0x1a2399) [0x7f0af11aa399]
/lib/libparrot.so.4.6.0(+0x1a1a95) [0x7f0af11a9a95]
/lib/libparrot.so.4.6.0(+0x1a35b8) [0x7f0af11ab5b8]
/lib/libparrot.so.4.6.0(Parrot_gc_new_pmc_header+0x53) [0x7f0af11a1e83]
/lib/libparrot.so.4.6.0(+0x1e126c) [0x7f0af11e926c]
/lib/libparrot.so.4.6.0(Parrot_pmc_new_init+0xda) [0x7f0af11e944a]
/lib/libparrot.so.4.6.0(+0x22a1dc) [0x7f0af12321dc]
/usr/lib/parrot/4.6.0/dynext/nqp_group.so(+0x1fad2) [0x7f0aed8f5ad2]
/usr/lib/parrot/4.6.0/dynext/perl6_group.so(+0x81a3) [0x7f0aed6c91a3]
/lib/libparrot.so.4.6.0(+0x1389b5) [0x7f0af11409b5]
/lib/libparrot.so.4.6.0(+0x1e3b19) [0x7f0af11ebb19]
/lib/libparrot.so.4.6.0(+0x1e2fc2) [0x7f0af11eafc2]
/lib/libparrot.so.4.6.0(+0x1b7d31) [0x7f0af11bfd31]
/lib/libparrot.so.4.6.0(Parrot_pcc_invoke_from_sig_object+0x190) [0x7f0af11b8880]
/lib/libparrot.so.4.6.0(Parrot_ext_call+0x188) [0x7f0af119cd58]
/lib/libparrot.so.4.6.0(+0x300213) [0x7f0af1308213]
/lib/libparrot.so.4.6.0(Parrot_pcc_invoke_from_sig_object+0x12b) [0x7f0af11b881b]
/lib/libparrot.so.4.6.0(Parrot_ext_call+0x188) [0x7f0af119cd58]
/lib/libparrot.so.4.6.0(+0x1ea7c9) [0x7f0af11f27c9]
/lib/libparrot.so.4.6.0(+0x1ea53d) [0x7f0af11f253d]
/lib/libparrot.so.4.6.0(Parrot_cx_begin_execution+0x11c) [0x7f0af11f245c]
/lib/libparrot.so.4.6.0(Parrot_pf_execute_bytecode_program+0x183) [0x7f0af12011d3]
/lib/libparrot.so.4.6.0(Parrot_api_run_bytecode+0x1a8) [0x7f0af1194e08]
perl6(main+0x1a6) [0x40128d]
/lib/libc.so.6(__libc_start_main+0xf5) [0x7f0af0c85725]
perl6() [0x401019]
Attempting to get PIR backtrace. No guarantees. Here goes...
current instr.​: 'infix​:<<>' pc 338867 (src/gen/CORE.setting.pir​:115351) (src/gen/CORE.setting​:2869)
called from Sub '_block1813' pc 132 ((file unknown)​:1600288219) (assertion-failure.p6​:5)
called from Sub '_block1811' pc 14 ((file unknown)​:1600288136) (assertion-failure.p6​:1)
called from Sub 'nqp;HLL;Compiler;_block1788' pc 32929 (src/stage2/gen/NQPHLL.pir​:13628) (src/stage2/gen/NQPHLL.pm​:1251)
called from Sub 'nqp;HLL;Compiler;eval' pc 32749 (src/stage2/gen/NQPHLL.pir​:13537) (src/stage2/gen/NQPHLL.pm​:1241)
called from Sub 'nqp;HLL;Compiler;evalfiles' pc 36018 (src/stage2/gen/NQPHLL.pir​:15138) (src/stage2/gen/NQPHLL.pm​:1451)
called from Sub 'nqp;HLL;Compiler;_block1885' pc 34321 (src/stage2/gen/NQPHLL.pir​:14349) (src/stage2/gen/NQPHLL.pm​:1361)
called from Sub 'nqp;HLL;Compiler;command_eval' pc 34042 (src/stage2/gen/NQPHLL.pir​:14224) (src/stage2/gen/NQPHLL.pm​:1350)
called from Sub 'nqp;Perl6;Compiler;command_eval' pc 1219 (src/gen/perl6-compiler.pir​:488) (src/Perl6/Compiler.nqp​:18)
called from Sub 'nqp;HLL;Compiler;command_line' pc 33708 (src/stage2/gen/NQPHLL.pir​:14062) (src/stage2/gen/NQPHLL.pm​:1336)
called from Sub 'MAIN' pc 1045 (src/gen/perl6.pir​:398) (src/main.nqp src/gen/main-version.nqp​:41)
called from Sub '_block1000' pc 105 (src/gen/perl6.pir​:73)
(src/main.nqp src/gen/main-version.nqp​:1)

If I run this example​:

http://hoelz.ro/files/perl6-crash.tar.bz2

I get a segfault after a couple ten thousand iterations.

This problem does not occur when I run the examples on a Macbook Pro. Here is my crashing system's information​:

OS​: Arch Linux
Architecture​: x86_64
Parrot Version​: 4.6.0
NQP Version​: 2012.07-3-g32380f9
Rakudo Version​: 2012.07-3-g81328c3

I'd really like to continue working on my bot, so any help would be appreciated! Of course, feel free to ask me for more information about my set up if it's needed.

Thanks,
Rob Hoelz

@p6rt
Copy link
Author

p6rt commented Dec 17, 2014

From @usev6

After asking the author, I'm closing this ticket​:

< bartolin> hoelzro​: I stumbled over an old ticket from you​: RT #​114228. Since the failing code is not included and the links don't work anymore, the ticket doesn't lead anywhere (IMHO). would you mind if I close the ticket?
< hoelzro> bartolin​: sure, go ahead
< hoelzro> I think it's solved anyway
< bartolin> hoelzro​: even better ;-)

@p6rt
Copy link
Author

p6rt commented Dec 17, 2014

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Dec 17, 2014

@usev6 - Status changed from 'open' to 'rejected'

@p6rt p6rt closed this as completed Dec 17, 2014
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