takashikkbn / gmail.com wrote:
> > ubf_select inside ruby_waitpid_locked is safe, but contention on vm->gvl.lock seems wrong. Made r65465 which should fix rb_f_system.
> >
> > Also taking a look at native_ppoll_sleep for spawn;
> 
> Thanks for taking a look at them :)

OK, I think it's the lack of locking/atomics around
checking waitpid_state.ret and I introduced the bug
in commit 9d4027b50334ef804f6f138fba1d342fe188826b
("process.c: simplify SIGCHLD-based waitpid").

I redesign rb_thread_sleep_interruptible tomorrow.  Really tired and stressed
now from crappy keyboard.

> > but I would feel more comfortable investigating issues if possible race condition around iseq->body access in MJIT worker could be eliminated as source of data corruption.
> 
> Ok. As said above, I believe it's properly guarded with locks and `in_jit`, but I'll take a look at that after https://80x24.org/spew/20181030184614.3830-1-e / 80x24.org/raw is committed. Could you check in ccan/list one first? I'll check https://80x24.org/spew/20181030184614.3830-2-e / 80x24.org/raw one later, but ccan change should be safe to merge separately.

Sorry, I missed your message about in_jit.  Trying ccan/list now
as r65468

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>