From: "tenderlovemaking (Aaron Patterson) via ruby-core" Date: 2025-01-16T19:52:43+00:00 Subject: [ruby-core:120719] [Ruby master Bug#21021] "try to mark T_NONE object" with 3.4.1 Issue #21021 has been updated by tenderlovemaking (Aaron Patterson). Benoit_Tigeot (Benoit Tigeot) wrote in #note-11: > Benoit_Tigeot (Benoit Tigeot) wrote in #note-10: > > I've look a little bit before but those are mostly app logs. > > I am wondering if we could provide much more info on [the crash dump](https://github.com/ruby/ruby/blob/v3_4_1/gc/default/default.c#L4455-L4456). Could it be possible? We could add more info, but the problem is that the crash dump is happening too late. Something pushed a `T_NONE` on the VM stack, and by the time it crashes it's pretty hard to tell _who_ did it. It might be possible to find with a core file, but would take some digging. If you're able to build from source and reproduce the problem, could you try applying this patch: ```diff diff --git a/tool/ruby_vm/views/_insn_entry.erb b/tool/ruby_vm/views/_insn_entry.erb index 6ec33461c4..bc9a1d44b4 100644 --- a/tool/ruby_vm/views/_insn_entry.erb +++ b/tool/ruby_vm/views/_insn_entry.erb @@ -64,7 +64,7 @@ INSN_ENTRY(<%= insn.name %>) INC_SP(INSN_ATTR(sp_inc)); % insn.rets.reverse_each.with_index do |ret, i| TOPN(<%= i %>) = <%= insn.cast_to_VALUE ret %>; - VM_ASSERT(!RB_TYPE_P(TOPN(<%= i %>), T_NONE)); + assert(!RB_TYPE_P(TOPN(<%= i %>), T_NONE)); VM_ASSERT(!RB_TYPE_P(TOPN(<%= i %>), T_MOVED)); % end % end ``` The above patch should crash the process when something pushes a T_NONE on the stack. If we can catch the problem at the time it gets pushed, we can probably figure out why it's happening. ---------------------------------------- Bug #21021: "try to mark T_NONE object" with 3.4.1 https://bugs.ruby-lang.org/issues/21021#change-111552 * Author: Benoit_Tigeot (Benoit Tigeot) * Status: Open * ruby -v: ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT +PRISM [x86_64-linux] ��� * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- Hello We upgraded to 3.4.1 yesterday but we are seeing crash since then. ``` /bundle/ruby/3.4.0/gems/activejob-7.2.2.1/lib/active_job/enqueuing.rb:93: [BUG] try to mark T_NONE object ``` I saw the other issue related to ffi gem https://bugs.ruby-lang.org/issues/20694 But in our case the `C level backtrace information` looks different. https://gist.github.com/benoittgt/13507c2000281aa7740bc782adab68c5 We migrated this part of the code to parallel->concurrent-ruby and we do not see the error yet again but I am a little bit worried we could see the issue again. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/