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

SIGSEGV on Rakudo-Parrot #3434

Closed
p6rt opened this issue Jul 11, 2014 · 6 comments
Closed

SIGSEGV on Rakudo-Parrot #3434

p6rt opened this issue Jul 11, 2014 · 6 comments

Comments

@p6rt
Copy link

p6rt commented Jul 11, 2014

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

Searchable as RT122274$

@p6rt
Copy link
Author

p6rt commented Jul 11, 2014

From m.s.khorkov@gmail.com

I have a stable SIGSEGV on my code atroxaper/Pod-SAX@80e4517

Current log of lldb (it is like gdb but in OS X)​:

.oO(atroxaper​:Goes)$ uname -a
Darwin MacBook-Pro-atroxaper.local 13.3.0 Darwin Kernel Version 13.3.0​: Tue Jun 3 21​:27​:35 PDT 2014; root​:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
.oO(atroxaper​:Goes)$ /Users/atroxaper/.rakudobrew/parrot-HEAD/install/bin/perl6 -v
This is perl6 version 2014.06-98-g87dcd11 built on parrot 6.5.0 revision RELEASE_6_5_0
.oO(atroxaper​:Goes)$ lldb /Users/atroxaper/.rakudobrew/parrot-HEAD/install/bin/perl6
Current executable set to '/Users/atroxaper/.rakudobrew/parrot-HEAD/install/bin/perl6' (x86_64).
(lldb) run /Users/atroxaper/idea/podmaster/t/Pod/SAX/Goes/01\ -\ html.pm
Process 29473 launched​: '/Users/atroxaper/.rakudobrew/parrot-HEAD/install/bin/perl6' (x86_64)
1..23
ok 1 - just pod
ok 2 - just title
not ok 3 - just headings
# got​: '<h1>Heading1</h1><h2>Heading2</h2><h1>Heading11</h1>'
# expected​: '<h1 id="Heading1">Heading1</h1><h2 id="Heading2">Heading2</h2><h1 id="Heading11">Heading11</h1>'
ok 4 - link​: L<http://www.mp3dev.org/mp3/>
ok 5 - link​: L<http://perlcabal.org/syn/S04.html#The_for_statement>
ok 6 - link​: L<http​:tutorial/faq.html>
ok 7 - link​: L<file​:/usr/local/lib/.configrc>
ok 8 - link​: L<file​:.configrc>
ok 9 - link​: L<mailto​:devnull@​rt.cpan.org>
ok 10 - link​: L<man​:find(1)>
ok 11 - link​: L<doc​:perldata>
ok 12 - link​: L<doc​:#Special Features>
ok 13 - link​: L<#Special Features>
ok 14 - link​: L<defn​:lexiphania>
ok 15 - link​: L<issn​:1087-903X>
ok 16 - link​: L<isbn​:2-266-11156-6>
ok 17 - link​: L<name|link>
ok 18 - link​: L<C<name>>
ok 19 - link​: L<C<n>amC<e>>
ok 20 - link​: L<name>
Process 29473 stopped
* thread #​1​: tid = 0x207a06, 0x0000000101d0c956 perl6_ops.bundle`Rakudo_cont_is_rw_scalar(interp=0x00000001019039d0, check=0x0000000110357270) + 15 at container.c​:187, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  frame #​0​: 0x0000000101d0c956 perl6_ops.bundle`Rakudo_cont_is_rw_scalar(interp=0x00000001019039d0, check=0x0000000110357270) + 15 at container.c​:187
  184
  185 /* Checks if the thing we have is a rw scalar. */
  186 INTVAL Rakudo_cont_is_rw_scalar(PARROT_INTERP, PMC *check) {
-> 187 if (IS_CONCRETE(check) && STABLE(check)->WHAT == scalar_type) {
  188 Rakudo_Scalar *scalar = (Rakudo_Scalar *)PMC_data(check);
  189 if (!PMC_IS_NULL(scalar->descriptor))
  190 return ((Rakudo_ContainerDescriptor *)PMC_data(scalar->descriptor))->rw;
(lldb) bt
* thread #​1​: tid = 0x207a06, 0x0000000101d0c956 perl6_ops.bundle`Rakudo_cont_is_rw_scalar(interp=0x00000001019039d0, check=0x0000000110357270) + 15 at container.c​:187, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #​0​: 0x0000000101d0c956 perl6_ops.bundle`Rakudo_cont_is_rw_scalar(interp=0x00000001019039d0, check=0x0000000110357270) + 15 at container.c​:187
  frame #​1​: 0x0000000101d054c2 perl6_ops.bundle`Parrot_perl6_decontainerize_return_value_p_p_p(cur_opcode=0x000000010a7288f0, interp=0x00000001019039d0) + 63 at perl6_ops.c​:3446
  frame #​2​: 0x0000000100061362 libparrot.dylib`runops_fast_core(interp=<unavailable>, runcore_unused=<unavailable>, pc=<unavailable>) + 51 at cores.c​:495
  frame #​3​: 0x0000000100060d4e libparrot.dylib`runops_int(interp=0x00000001019039d0, offset=<unavailable>) + 96 at main.c​:220
  frame #​4​: 0x000000010004c9b0 libparrot.dylib`runops(interp=0x00000001019039d0, offs=<unavailable>) + 318 at ops.c​:123
  frame #​5​: 0x0000000100048c70 libparrot.dylib`Parrot_pcc_invoke_from_sig_object(interp=0x00000001019039d0, sub_obj=<unavailable>, call_object=<unavailable>) + 206 at pcc.c​:337
  frame #​6​: 0x000000010003e1bc libparrot.dylib`Parrot_ext_call(interp=0x00000001019039d0, sub_pmc=<unavailable>, signature=<unavailable>) + 222 at extend.c​:158
  frame #​7​: 0x0000000100103f6c libparrot.dylib`Parrot_Task_invoke(interp=0x00000001019039d0, _self=0x0000000108aca768, next=0x0000000000000000) + 188 at task.pmc​:175
  frame #​8​: 0x0000000100048c39 libparrot.dylib`Parrot_pcc_invoke_from_sig_object(interp=0x00000001019039d0, sub_obj=0x0000000108aca768, call_object=<unavailable>) + 151 at pcc.c​:329
  frame #​9​: 0x000000010003e1bc libparrot.dylib`Parrot_ext_call(interp=0x00000001019039d0, sub_pmc=<unavailable>, signature=<unavailable>) + 222 at extend.c​:158
  frame #​10​: 0x0000000100064550 libparrot.dylib`Parrot_cx_outer_runloop(interp=0x00000001019039d0) + 64 at scheduler.c​:149
  frame #​11​: 0x00000001000643f5 libparrot.dylib`Parrot_cx_begin_execution(interp=0x00000001019039d0, main=<unavailable>, argv=<unavailable>) + 104 at scheduler.c​:109
  frame #​12​: 0x000000010006c875 libparrot.dylib`Parrot_pf_execute_bytecode_program(interp=0x00000001019039d0, pbc=<unavailable>, args=0x0000000103013e48) + 466 at api.c​:2860
  frame #​13​: 0x0000000100039f59 libparrot.dylib`Parrot_api_run_bytecode(interp_pmc=<unavailable>, pbc=0x000000010301ce10, args=<unavailable>) + 229 at bytecode.c​:161
  frame #​14​: 0x000000010000186c perl6`main(argc=<unavailable>, argv=<unavailable>) + 462 at perl6-p.c​:993
(lldb) exit
Quitting LLDB will kill one or more processes. Do you really want to proceed​: [Y/n] Y

@p6rt
Copy link
Author

p6rt commented Jul 14, 2014

From @rurban

On Fri Jul 11 11​:31​:16 2014, m.s.khorkov@​gmail.com wrote​:

I have a stable SIGSEGV on my code https://github.com/atroxaper/Pod-
SAX/commit/80e45173429c493f0a8ffe5f667ada51917e195d

Thanks for the report. This is a nqp 6model problem, but I cannot reproduce it anymore​:

$ ../rakudo-git/install/bin/perl6-p --version
This is perl6 version 2014.06-118-gb25b868 built on parrot 6.5.0 revision RELEASE_6_5_0-13-g868c410
$ ../rakudo-git/install/bin/nqp-p --version
This is nqp version 2014.06-27-gefba64d built on parrot 6.5.0 revision RELEASE_6_5_0-13-g868c410

$ ../rakudo-git/install/bin/perl6-p -Ilib t/Pod/SAX/Goes/01\ -\ html.pm
1..33
ok 1 - just pod
ok 2 - just title
ok 3 - just headings
ok 4 - link​: L<http://www.mp3dev.org/mp3/>
ok 5 - link​: L<http://perlcabal.org/syn/S04.html#The_for_statement>
ok 6 - link​: L<http​:tutorial/faq.html>
ok 7 - link​: L<file​:/usr/local/lib/.configrc>
ok 8 - link​: L<file​:.configrc>
ok 9 - link​: L<mailto​:devnull@​rt.cpan.org>
ok 10 - link​: L<man​:find(1)>
ok 11 - link​: L<doc​:perldata>
ok 12 - link​: L<doc​:#Special Features>
ok 13 - link​: L<#Special Features>
ok 14 - link​: L<defn​:lexiphania>
ok 15 - link​: L<issn​:1087-903X>
ok 16 - link​: L<isbn​:2-266-11156-6>
ok 17 - link​: L<name|link>
ok 18 - link​: L<C<name>>
ok 19 - link​: L<C<n>amC<e>>
ok 20 - link​: L<name>
ok 21 - link to defn
ok 22 - =begin code reforms well
ok 23 - B<> and I<> and R<> work well
ok 24 - table of contents
ok 25 - =output
not ok 26 - unordered list
# got​: '<p>Happy</p><p>Dopey</p>'
# expected​: '<p><ul><li>Happy</li><li>Dopey</li></ul></p>'
not ok 27 - unordered list with sublist
# got​: '<p>Animal</p><p>Vertebrate</p><p>Invertebrate</p><p>Phase</p><p>Solid</p>'
# expected​: '<p><ul><li>Animal</li><ul><li>Vertebrate</li><li>Invertebrate</li></ul><li>Phase</li><ul><li>Solid</li></ul></ul></p>'
not ok 28 - ordered list
# got​: '<p>Visito</p><p>Veni</p><p>Vidi</p>'
# expected​: '<p><ol><li>Visito</li><ol><li>Veni</li><li>Vidi</li></ol></ol></p>'
not ok 29 - ordered list with #
# got​: '<p># Visito</p><p># Veni</p><p># Vidi</p>'
# expected​: '<p><ol><li>Visito</li><ol><li>Veni</li><li>Vidi</li></ol></ol></p>'
not ok 30 - unordered list with #
# got​: '<p># introduces a comment</p><p># introduces a comment</p>'
# expected​: '<p><ul><li># introduces a comment</li><li># introduces a comment</li></ul></p>'
not ok 31 - tow ordered lists
# got​: '<p># Death</p><p># Beer</p><p>The tools are​:</p><p># Revolution</p><p># Deep-fried peanut butter sandwich</p>'
# expected​: '<p><ol><li>Death</li><li>Beer</li></ol>The tools are​:<ol><li>Revolution</li><li>Deep-fried peanut butter sandwich</li></ol></p>'
not ok 32 - two ordered lists in one list
# got​: '<p># Retreat to remote Himalayan monastery</p><p># Learn the hidden mysteries of space and time</p><p><em>????</em></p><p># Prophet!</p>'
# expected​: '<p><ol><li>Retreat to remote Himalayan monastery</li><li>Learn the hidden mysteries of space and time</li></ol><em>????</em><ol start="3"><li>Prophet!</li></ol></p>'
not ok 33 - multi-paragraph list
# got​: '<p>Item</p><p>Same item</p><p>Another item</p><p>Continue another item</p>'
# expected​: '<p><ol><li>Item</br>Same item</li><li>Another item</br>Continue another item</li></ol></p>'
# Looks like you failed 8 tests of 33

@p6rt
Copy link
Author

p6rt commented Jul 14, 2014

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

@p6rt
Copy link
Author

p6rt commented Jul 15, 2014

From m.s.khorkov@gmail.com

Hello! Thank you for your interest! As I wrote in the first message, you can reproduis it not on my last commit, but on the concrete commit 80e4517342.

Пнд Июл 14 13​:28​:37 2014, rurban писал​:

On Fri Jul 11 11​:31​:16 2014, m.s.khorkov@​gmail.com wrote​:

I have a stable SIGSEGV on my code https://github.com/atroxaper/Pod-
SAX/commit/80e45173429c493f0a8ffe5f667ada51917e195d

Thanks for the report. This is a nqp 6model problem, but I cannot
reproduce it anymore​:

$ ../rakudo-git/install/bin/perl6-p --version
This is perl6 version 2014.06-118-gb25b868 built on parrot 6.5.0
revision RELEASE_6_5_0-13-g868c410
$ ../rakudo-git/install/bin/nqp-p --version
This is nqp version 2014.06-27-gefba64d built on parrot 6.5.0 revision
RELEASE_6_5_0-13-g868c410

$ ../rakudo-git/install/bin/perl6-p -Ilib t/Pod/SAX/Goes/01\ -\
html.pm
1..33
ok 1 - just pod
ok 2 - just title
ok 3 - just headings
ok 4 - link​: L<http://www.mp3dev.org/mp3/>
ok 5 - link​: L<http://perlcabal.org/syn/S04.html#The_for_statement>
ok 6 - link​: L<http​:tutorial/faq.html>
ok 7 - link​: L<file​:/usr/local/lib/.configrc>
ok 8 - link​: L<file​:.configrc>
ok 9 - link​: L<mailto​:devnull@​rt.cpan.org>
ok 10 - link​: L<man​:find(1)>
ok 11 - link​: L<doc​:perldata>
ok 12 - link​: L<doc​:#Special Features>
ok 13 - link​: L<#Special Features>
ok 14 - link​: L<defn​:lexiphania>
ok 15 - link​: L<issn​:1087-903X>
ok 16 - link​: L<isbn​:2-266-11156-6>
ok 17 - link​: L<name|link>
ok 18 - link​: L<C<name>>
ok 19 - link​: L<C<n>amC<e>>
ok 20 - link​: L<name>
ok 21 - link to defn
ok 22 - =begin code reforms well
ok 23 - B<> and I<> and R<> work well
ok 24 - table of contents
ok 25 - =output
not ok 26 - unordered list
# got​: '<p>Happy</p><p>Dopey</p>'
# expected​: '<p><ul><li>Happy</li><li>Dopey</li></ul></p>'
not ok 27 - unordered list with sublist
# got​:
'<p>Animal</p><p>Vertebrate</p><p>Invertebrate</p><p>Phase</p><p>Solid</p>'
# expected​:
'<p><ul><li>Animal</li><ul><li>Vertebrate</li><li>Invertebrate</li></ul><li>Phase</li><ul><li>Solid</li></ul></ul></p>'
not ok 28 - ordered list
# got​: '<p>Visito</p><p>Veni</p><p>Vidi</p>'
# expected​:
'<p><ol><li>Visito</li><ol><li>Veni</li><li>Vidi</li></ol></ol></p>'
not ok 29 - ordered list with #
# got​: '<p># Visito</p><p># Veni</p><p># Vidi</p>'
# expected​:
'<p><ol><li>Visito</li><ol><li>Veni</li><li>Vidi</li></ol></ol></p>'
not ok 30 - unordered list with #
# got​: '<p># introduces a comment</p><p># introduces a
comment</p>'
# expected​: '<p><ul><li># introduces a comment</li><li># introduces a
comment</li></ul></p>'
not ok 31 - tow ordered lists
# got​: '<p># Death</p><p># Beer</p><p>The tools are​:</p><p>#
Revolution</p><p># Deep-fried peanut butter sandwich</p>'
# expected​: '<p><ol><li>Death</li><li>Beer</li></ol>The tools
are​:<ol><li>Revolution</li><li>Deep-fried peanut butter
sandwich</li></ol></p>'
not ok 32 - two ordered lists in one list
# got​: '<p># Retreat to remote Himalayan monastery</p><p># Learn
the hidden mysteries of space and time</p><p><em>????</em></p><p>#
Prophet!</p>'
# expected​: '<p><ol><li>Retreat to remote Himalayan
monastery</li><li>Learn the hidden mysteries of space and
time</li></ol><em>????</em><ol start="3"><li>Prophet!</li></ol></p>'
not ok 33 - multi-paragraph list
# got​: '<p>Item</p><p>Same item</p><p>Another item</p><p>Continue
another item</p>'
# expected​: '<p><ol><li>Item</br>Same item</li><li>Another
item</br>Continue another item</li></ol></p>'
# Looks like you failed 8 tests of 33

@p6rt
Copy link
Author

p6rt commented Nov 22, 2014

From @usev6

Hi Mikhail,

I was unable to reproduce the segmentation fault with current rakudo.parrot​:

$ (cd Pod-SAX/; git log -n 1)
commit 80e45173429c493f0a8ffe5f667ada51917e195d
Author​: Mikhail Khorkov <m.s.khorkov@​gmail.com>
Date​: Sat Jul 12 01​:13​:22 2014 +0700

  Save state with SIGSEGV
 
  Save state with SIGSEGV.

$ perl6-p Pod-SAX/t/Pod/SAX/Goes/01\ -\ html.pm
Potential difficulties​:
  Repeated character (') unexpectedly found in character class
  at /home/christian/my_files/computer/Perl6/tmp/rakudo/Pod-SAX/lib/Pod/SAX/Common.pm​:27
  ------> $&lt;from-root&gt;=['//']? $&lt;path>=<-⏏['#']>+
  from module Pod​::SAX​::Anchors (/home/christian/my_files/computer/Perl6/tmp/rakudo/Pod-SAX/lib/Pod/SAX/Anchors.pm​:2)
  from module Pod​::SAX​::Reformer (/home/christian/my_files/computer/Perl6/tmp/rakudo/Pod-SAX/lib/Pod/SAX/Reformer.pm​:4)
  from module Pod​::SAX​::Goes​::HTML (/home/christian/my_files/computer/Perl6/tmp/rakudo/Pod-SAX/lib/Pod/SAX/Goes/HTML.pm​:2)
  from Pod-SAX/t/Pod/SAX/Goes/01 - html.pm​:5
1..23
ok 1 - just pod
ok 2 - just title
not ok 3 - just headings

# Failed test 'just headings'
# at Pod-SAX/t/Pod/SAX/Goes/01 - html.pm line 58
# expected​: '<h1 id="Heading1">Heading1</h1><h2 id="Heading2">Heading2</h2><h1 id="Heading11">Heading11</h1>'
# got​: '<h1>Heading1</h1><h2>Heading2</h2><h1>Heading11</h1>'
ok 4 - link​: L<http://www.mp3dev.org/mp3/>
ok 5 - link​: L<http://perlcabal.org/syn/S04.html#The_for_statement>
ok 6 - link​: L<http​:tutorial/faq.html>
ok 7 - link​: L<file​:/usr/local/lib/.configrc>
ok 8 - link​: L<file​:.configrc>
ok 9 - link​: L<mailto​:devnull@​rt.cpan.org>
ok 10 - link​: L<man​:find(1)>
ok 11 - link​: L<doc​:perldata>
ok 12 - link​: L<doc​:#Special Features>
ok 13 - link​: L<#Special Features>
ok 14 - link​: L<defn​:lexiphania>
ok 15 - link​: L<issn​:1087-903X>
ok 16 - link​: L<isbn​:2-266-11156-6>
ok 17 - link​: L<name|link>
ok 18 - link​: L<C<name>>
ok 19 - link​: L<C<n>amC<e>>
ok 20 - link​: L<name>
ok 21 - link to defn
ok 22 - =begin code reforms well
ok 23 - B<> and I<> and R<> work well
# Looks like you failed 1 tests of 23
Saw 1 call to deprecated code during execution.

Method content (from Pod​::Block) called at​:
  /home/christian/my_files/computer/Perl6/tmp/rakudo/Pod-SAX/lib/Pod/SAX/Iter.pm, lines 21,29
Deprecated since v2014.9, will be removed with release v2015.9!
Please use Pod​::Block.contents instead.


Please contact the author to have these calls to deprecated code adapted,
so that this message will disappear!

Ignoring the deprecation message that's exactly what you got back in July up to test 20. After that you got the SIGSEGV, I got three passing tests. On rakudo.jvm and rakudo.moar tests 1, 2 and 4..23 also passed.

So it looks like the problem was fixed meanwhile.

I'm closing this ticket now.

So

@p6rt p6rt closed this as completed Nov 22, 2014
@p6rt
Copy link
Author

p6rt commented Nov 22, 2014

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

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