From: "alanwu (Alan Wu) via ruby-core" Date: 2025-01-30T16:05:38+00:00 Subject: [ruby-core:120844] [Ruby master Bug#21087] "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade Issue #21087 has been updated by alanwu (Alan Wu). Status changed from Open to Closed Thanks! The reproducer help diagnose the issue and we landed a fix in commit:58ccce60cf5f3268e7ef27942b75e78fe2d78e75. ---------------------------------------- Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade https://bugs.ruby-lang.org/issues/21087#change-111715 * Author: p8 (Petrik de Heus) * Status: Closed * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- The TechEmpower benchmarks for `rage` fail when setting the `isolation_level` to `:fiber`. The bug can be replicated by checking out [the branch](https://github.com/p8/FrameworkBenchmarks/tree/rage/fiber) and running the following: ```bash ./tfb --test rage --type fortune ``` The error: ``` rage: rb_obj_info_dump: ���s������������ rage: /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/explain_registry.rb:34: [BUG] try to mark T_NONE object rage: ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT +PRISM [aarch64-linux] rage: -- Control frame information ----------------------------------------------- rage: c:0040 p:0007 s:0276 e:000275 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/explain_registry.rb:34 rage: c:0039 p:0003 s:0272 e:000271 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/explain_registry.rb:25 [FINISH] rage: c:0038 p:---- s:0268 e:000267 CFUNC :new rage: c:0037 p:0016 s:0264 e:000260 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/explain_registry.rb:17 rage: c:0036 p:0003 s:0257 e:000256 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/explain_registry.rb:13 rage: c:0035 p:0004 s:0250 e:000249 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/explain_subscriber.rb:13 rage: c:0034 p:0010 s:0243 e:000242 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:162 rage: c:0033 p:0005 s:0239 e:000238 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:25 rage: c:0032 p:0027 s:0234 e:000233 METHOD :228 rage: c:0031 p:0008 s:0228 e:000227 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:24 rage: c:0030 p:0010 s:0222 e:000221 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:122 rage: c:0029 p:0004 s:0217 e:000216 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:161 rage: c:0028 p:0010 s:0210 e:000209 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:259 rage: c:0027 p:0005 s:0206 e:000205 BLOCK /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:25 rage: c:0026 p:0027 s:0201 e:000200 METHOD :228 rage: c:0025 p:0008 s:0195 e:000194 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:24 rage: c:0024 p:0018 s:0189 e:000188 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:258 rage: c:0023 p:0012 s:0182 e:000181 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/fanout.rb:251 rage: c:0022 p:0035 s:0178 e:000176 METHOD /usr/local/bundle/gems/activesupport-7.2.2.1/lib/active_support/notifications/instrumenter.rb:64 [FINISH] rage: c:0021 p:0047 s:0169 e:000168 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:1119 [FINISH] rage: c:0020 p:0031 s:0156 e:000155 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:892 rage: c:0019 p:0041 s:0144 e:000143 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:872 rage: c:0018 p:0026 s:0130 e:000129 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:66 rage: c:0017 p:0093 s:0118 e:000117 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:647 rage: c:0016 p:0064 s:0105 e:000104 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:73 [FINISH] rage: c:0015 p:0143 s:0093 e:000092 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:251 [FINISH] rage: c:0014 p:0025 s:0080 e:000079 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/relation/calculations.rb:318 rage: c:0013 p:0030 s:0076 e:000075 METHOD /usr/local/bundle/gems/rage-rb-1.11.0/lib/rage/ext/active_record/connection_pool.rb:205 [FINISH] rage: c:0012 p:0011 s:0069 e:000068 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296 rage: c:0011 p:0022 s:0062 e:000061 BLOCK /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/relation/calculations.rb:317 rage: c:0010 p:0015 s:0059 e:000058 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/relation.rb:1452 rage: c:0009 p:0120 s:0054 e:000053 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/relation/calculations.rb:313 [FINISH] rage: c:0008 p:0012 s:0046 e:000045 METHOD /usr/local/bundle/gems/activerecord-7.2.2.1/lib/active_record/querying.rb:24 rage: c:0007 p:0008 s:0037 e:000036 METHOD /rage/app/controllers/benchmarks_controller.rb:32 rage: c:0006 p:0038 s:0032 e:000031 METHOD /usr/local/bundle/gems/rage-rb-1.11.0/lib/rage/controller/api.rb:98 rage: c:0005 p:0010 s:0028 e:000027 BLOCK (eval at /usr/local/bundle/gems/rage-rb-1.11.0/lib/rage/router/backend.rb:79):1 [FINISH] rage: c:0004 p:0043 s:0023 e:000019 METHOD /usr/local/bundle/gems/rage-rb-1.11.0/lib/rage/application.rb:16 rage: c:0003 p:0008 s:0011 e:000010 BLOCK /usr/local/bundle/gems/rage-rb-1.11.0/lib/rage/middleware/fiber_wrapper.rb:19 [FINISH] rage: c:0002 p:0016 s:0008 e:000005 BLOCK /usr/local/bundle/gems/rage-rb-1.11.0/lib/rage/fiber_scheduler.rb:122 [FINISH] rage: c:0001 p:---- s:0003 e:000002 DUMMY [FINISH] rage: -- Ruby level backtrace information --------------------------------------- ``` -- 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/