[ruby-core:118933] [Ruby master Bug#20694] "try to mark T_NONE object" error for very large arrays

Issue #20694 has been reported by ngan (Ngan Pham). ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large arrays https://bugs.ruby-lang.org/issues/20694 * Author: ngan (Ngan Pham) * Status: Open * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/

Issue #20694 has been updated by mame (Yusuke Endoh). Can you share the full backtrace, not only "Control frame information" section but also "C level backtrace information" section? ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large arrays https://bugs.ruby-lang.org/issues/20694#change-109503 * Author: ngan (Ngan Pham) * Status: Open * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/

Issue #20694 has been updated by byroot (Jean Boussier).
very large arrays
You mean hashes right? This smells like a missing write barrier in the compiler or iseq loader (impossible to tell without the C backtrace). ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large arrays https://bugs.ruby-lang.org/issues/20694#change-109515 * Author: ngan (Ngan Pham) * Status: Open * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/

Issue #20694 has been updated by ngan (Ngan Pham). Ah yes, I meant hash. I’ll upload the full back trace when I’m back online later today. ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large arrays https://bugs.ruby-lang.org/issues/20694#change-109516 * Author: ngan (Ngan Pham) * Status: Open * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/

Issue #20694 has been updated by ngan (Ngan Pham). Subject changed from "try to mark T_NONE object" error for very large arrays to "try to mark T_NONE object" error for very large hash This is the complete backtrace: https://gist.github.com/ngan/0e81cf7a4d822e46aab12acbadd10765 Sorry for the delay! ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large hash https://bugs.ruby-lang.org/issues/20694#change-109518 * Author: ngan (Ngan Pham) * Status: Open * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/

Issue #20694 has been updated by ngan (Ngan Pham). Looking at the backtrace, looks like it's coming from the ffi gem. The problem seems to have been fixed here: https://github.com/ffi/ffi/commit/9a2368651fa8fe5a3e8504ccd08b3ce9afbe0a46 We're going to upgrade and see how it goes. Please feel free to close this out if you agree with my findings. Thanks everyone! ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large hash https://bugs.ruby-lang.org/issues/20694#change-109519 * Author: ngan (Ngan Pham) * Status: Open * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/

Issue #20694 has been updated by byroot (Jean Boussier). Status changed from Open to Third Party's Issue Yep, it's a bug in `ffi` or a gem using `ffi`. ---------------------------------------- Bug #20694: "try to mark T_NONE object" error for very large hash https://bugs.ruby-lang.org/issues/20694#change-109523 * Author: ngan (Ngan Pham) * Status: Third Party's Issue * ruby -v: 3.3.4 * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- In CI, we've been occasionally seeing `[BUG] try to mark T_NONE object`. I don't have any way to reproduce it but I'm going to put some information here in case anyone has any ideas. One thing I've noticed is that it happens for very large arrays: ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f587d04fc90 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/simpleidn-0.2.2/lib/simpleidn/uts46mapping.rb: [BUG] try to mark T_NONE object ruby 3.3.4 (2024-07-09 revision be1089c8ec) [x86_64-linux] ``` https://github.com/mmriis/simpleidn/blob/master/lib/simpleidn/uts46mapping.r... and... ``` <OBJ_INFO:gc_mark_ptr@gc.c:7072> 0x00007f7ec426fdc8 [0 M ] T_NONE /usr/local/bundle/ruby/3.3.0/gems/domain_name-0.6.20240107/lib/domain_name/etld_data.rb: [BUG] try to mark T_NONE object ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] ``` https://github.com/knu/ruby-domain_name/blob/master/lib/domain_name/etld_dat... ---Files-------------------------------- backtrace.txt (9.12 KB) -- https://bugs.ruby-lang.org/
participants (3)
-
byroot (Jean Boussier)
-
mame (Yusuke Endoh)
-
ngan (Ngan Pham)