Skip to content

Advice for how best to report a hang potentially caused by YJIT #557

Closed
@mikebaldry

Description

@mikebaldry

Apologies as this isn't a bug report itself, I wasn't sure of a better avenue to ask this question.

I've been trying to upgrade to ruby 3.3.1 and enabling YJIT, my test suite is hanging in seemingly random places. Looking at nrdebug.rb output, the ruby code is stopped on a call to super and looking at the base class super, nothing it does would cause any kind of blocking. The C thread has a stack trace stuck here:

#0  0x000075b990bd5021 in ?? ()
#1  0x0000000000000001 in ?? ()
#2  0x000075b944892458 in ?? ()
#3  0x000075b98dbfd100 in ?? ()
#4  0x000075b98df0c708 in jit_exec_exception (ec=<optimized out>) at vm.c:503
#5  vm_exec_loop (result=<optimized out>, tag=<optimized out>, state=<optimized out>, ec=<optimized out>) at vm.c:2512
#6  rb_vm_exec (ec=0x5c6485e72540) at vm.c:2489

I guess those first 4 are YJIT compiled code? How would I dig in and find out what it's doing?

I am able to reproduce it locally, though not able to make a small test case without some guidance. All I know is, if I don't call RubyVM::YJIT.enable on app boot, the hanging stops.

Can you suggest how best to investigate the issue to narrow it down enough to create a small reproduction, or what information might be valuable to you in tracking it down?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions