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

explicitly-manage is doing something un thread-safe apparently #4990

Open
p6rt opened this issue Jan 4, 2016 · 3 comments
Open

explicitly-manage is doing something un thread-safe apparently #4990

p6rt opened this issue Jan 4, 2016 · 3 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Jan 4, 2016

Migrated from rt.perl.org#127145 (status was 'open')

Searchable as RT127145$

@p6rt
Copy link
Author

p6rt commented Jan 4, 2016

From @jonathanstowe

This came up on IRC regarding what is "thread-safe" and what isn't in NativeCall​:

[jonathan@​cannibal ~]$ perl6 -e ' use NativeCall; await start { my $a = "dubba"; explicitly-manage($a); } xx 15'

Incompatible MROs in P6opaque rebless
  in block <unit> at -e line 1

I would speculate that the change that explicitly-manage makes to the string is somehow shared among the threads.

It could present a major problem to people trying to use a native sub with a "const char *" argument in a concurrent application.

This is with a straight up​:

This is Rakudo version 2015.12 built on MoarVM version 2015.12
implementing Perl 6.c

@p6rt
Copy link
Author

p6rt commented Oct 8, 2017

From @dogbert17

This seems to have been fixed as far as I can tell. Unfortunately the bisectbot was unable to show which commit might have solved the issue.
Tried it several times on my 32 bit Linux VM with 'Rakudo version 2017.09-348-g830084430 built on MoarVM version 2017.09.1-575-gd4e230a69' without any problems.

@p6rt
Copy link
Author

p6rt commented Oct 8, 2017

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

@p6rt p6rt added the Bug label Jan 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant