Programmer I started programming 40 years ago writing complex embedded systems for 30 years system with concurrency 40年くらいコード書いてて、30年くらいは複雑なシステム書いてるよ 5
r = Ractor.new {$foo} #<Thread:0x0000000106ed7018 run> terminated with exception (report_on_exception is true): (irb):11:in `block in <top (required)>': can not access global variables $foo from non-main Ractors (Ractor::IsolationError)
<internal:ractor>:820:in `make_shareable': can not make shareable object for #<Thread::Queue:0x0000000104c8b068> (Ractor::Error) >> Ractor.make_shareable(Monitor.new) <internal:ractor>:820:in `make_shareable': can not make shareable object for #<Monitor:0x0000000104e47398> (Ractor::Error) >> Ractor.make_shareable(Rinda::TupleSpace.new) <internal:ractor>:820:in `make_shareable': can not make shareable object for #<Monitor:0x00000001051e84c0> (Ractor::Error)
>> conn = PG.connect("postgres:///masaki") >> Ractor.make_shareable(conn) <internal:ractor>:820:in `make_shareable': can not make shareable object for #<PG::Connection:0x000000010469d8e0> (Ractor::Error) >> Ractor.new { PG.connect("postgres:///masaki").exec("select 1") } #<Thread:0x000000010a638048 run> terminated with exception (report_on_exception is true): /opt/homebrew/lib/ruby/gems/3.2.0/gems/pg-1.4.6/lib/pg/ connection.rb:70:in `conninfo_parse': ractor unsafe method called from not main ractor (Ractor::UnsafeError)
>> Ractor.new {pp 1} #<Thread:0x000000010a79f9e0 run> terminated with exception (report_on_exception is true): <internal:/opt/homebrew/lib/ruby/site_ruby/3.2.0/rubygems/ core_ext/kernel_require.rb>:40:in `require': can not access non-shareable objects in constant Kernel::RUBYGEMS_ACTIVATION_MONITOR by non-main ractor. (Ractor::IsolationError)
new deck metadata known deck sqlite3 sqlite3 My MacBook App deck similarity Search Initialize Crowler Web UI @deck @idf @norm @name @id_norm Make Vector Update Deck Build page periodic task 検索の高速化 case 2 n decks