Tag: deadlock

Ruby:open导致死锁

首先,我是Ruby的初学者,并不熟悉Ruby管理代码的方式并使其工作,所以我确实认为问题是我不知道如何正确使用ruby。 我遇到的问题是死锁,但我没有在我的程序中使用任何线程。 此外,错误仅发生在每1000到1500次函数调用一次,这使得查明和纠正非常困难。 发生问题时,这是完整的错误消息: /usr/lib/ruby/2.3.0/timeout.rb:95:in `join’: No live threads left. Deadlock? (fatal) from /usr/lib/ruby/2.3.0/timeout.rb:95:in `ensure in block in timeout’ from /usr/lib/ruby/2.3.0/timeout.rb:95:in `block in timeout’ from /usr/lib/ruby/2.3.0/timeout.rb:101:in `timeout’ from /usr/lib/ruby/2.3.0/net/http.rb:878:in `connect’ from /usr/lib/ruby/2.3.0/net/http.rb:863:in `do_start’ from /usr/lib/ruby/2.3.0/net/http.rb:852:in `start’ from /usr/lib/ruby/2.3.0/open-uri.rb:319:in `open_http’ from /usr/lib/ruby/2.3.0/open-uri.rb:737:in `buffer_open’ from /usr/lib/ruby/2.3.0/open-uri.rb:212:in `block in open_loop’ from /usr/lib/ruby/2.3.0/open-uri.rb:210:in `catch’ from /usr/lib/ruby/2.3.0/open-uri.rb:210:in `open_loop’ from /usr/lib/ruby/2.3.0/open-uri.rb:151:in […]