From: "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@ml.ruby-lang.org>
To: ruby-core@ml.ruby-lang.org
Cc: "tenderlovemaking (Aaron Patterson)" <noreply@ruby-lang.org>
Subject: [ruby-core:120719] [Ruby master Bug#21021] "try to mark T_NONE object" with 3.4.1
Date: Thu, 16 Jan 2025 19:52:43 +0000 (UTC) [thread overview]
Message-ID: <redmine.journal-111552.20250116195243.12344@ruby-lang.org> (raw)
In-Reply-To: <redmine.issue-21021.20250109154330.12344@ruby-lang.org>
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/
next prev parent reply other threads:[~2025-01-16 19:52 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-09 15:43 [ruby-core:120580] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-09 16:05 ` [ruby-core:120582] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-09 17:10 ` [ruby-core:120586] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-09 20:26 ` [ruby-core:120590] " tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-09 22:33 ` [ruby-core:120591] " alanwu (Alan Wu) via ruby-core
2025-01-10 8:52 ` [ruby-core:120595] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-10 11:40 ` [ruby-core:120599] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-15 16:41 ` [ruby-core:120699] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-15 17:30 ` [ruby-core:120700] " tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-15 19:58 ` [ruby-core:120704] " alanwu (Alan Wu) via ruby-core
2025-01-15 22:38 ` [ruby-core:120709] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-16 16:37 ` [ruby-core:120718] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-16 19:52 ` tenderlovemaking (Aaron Patterson) via ruby-core [this message]
2025-01-17 13:20 ` [ruby-core:120727] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-17 17:22 ` [ruby-core:120729] " tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-18 11:45 ` [ruby-core:120734] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-23 9:20 ` [ruby-core:120763] " alanwu (Alan Wu) via ruby-core
2025-01-23 17:29 ` [ruby-core:120768] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-23 18:05 ` [ruby-core:120769] " byroot (Jean Boussier) via ruby-core
2025-01-23 19:11 ` [ruby-core:120771] " alanwu (Alan Wu) via ruby-core
2025-01-24 12:11 ` [ruby-core:120781] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-24 12:17 ` [ruby-core:120782] " byroot (Jean Boussier) via ruby-core
2025-01-24 13:11 ` [ruby-core:120783] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-24 16:39 ` [ruby-core:120786] " travisbell (Travis Bell) via ruby-core
2025-01-29 0:57 ` [ruby-core:120815] " alanwu (Alan Wu) via ruby-core
2025-01-29 15:49 ` [ruby-core:120832] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-01-30 7:49 ` [ruby-core:120839] " Benoit_Tigeot (Benoit Tigeot) via ruby-core
2025-02-14 1:45 ` [ruby-core:120999] " k0kubun (Takashi Kokubun) via ruby-core
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-111552.20250116195243.12344@ruby-lang.org \
--to=ruby-core@ml.ruby-lang.org \
--cc=noreply@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).