Skip to content

(URGENT) Ruby crash - possible multi-threading/parallel-processing concurrency error #139

@petervwyatt

Description

@petervwyatt

About 2 of every 5 runs of a full recompile of my MN project, I get the following Ruby error showing up in my log. I'm running latest local Gems on Windows 11 x64. I'm wondering if this is a multi-threading/parallel-processing concurrency error, since it seems odd that [relaton-rfc] needs to fetch the same ZIP file multiple times...

PS. AFAICT this doesn't appear to impact the final MN output - the NormRefs and Biblio look OK (but I didn't examine every one of the ~200 refs in detail)

... snip ...
[relaton-nist] INFO: (FIPS 180-4) Fetching from csrc.nist.gov ...
[relaton-nist] INFO: (FIPS 180-4) Found: `NIST FIPS 180-4 fpd`
[relaton-nist] INFO: (FIPS 186-4) Fetching from csrc.nist.gov ...
[relaton-nist] INFO: (FIPS 186-4) Found: `NIST FIPS 186-4 fpd`
[relaton-nist] INFO: (FIPS 197) Fetching from csrc.nist.gov ...
[relaton-nist] INFO: (FIPS 197) Found: `NIST FIPS 197 fpd`
[relaton-ietf] INFO: (IETF RFC 1321) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 1950) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 1951) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 2045) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 2046) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 2083) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 2315) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 3161) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 3454) Fetching from Relaton repository ...
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:267: warning: Exception in finalizer #<Tempfile::Remover:0x0000014fc39f3b48 @pid=17392, @path="C:/Users/peter/AppData/Local/Temp/open-uri20260108-17392-wvgztp">
C:/Ruby33-x64/lib/ruby/3.3.0/tempfile.rb:319:in `unlink': Permission denied @ apply2files - C:/Users/peter/AppData/Local/Temp/open-uri20260108-17392-wvgztp (Errno::EACCES)
	from C:/Ruby33-x64/lib/ruby/3.3.0/tempfile.rb:319:in `call'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:267:in `visit_String'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:331:in `block in visit_Hash'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in `each'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in `visit_Hash'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `block in visit_Enumerator'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `each'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `visit_Enumerator'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:352:in `visit_Array'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:117:in `push'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych.rb:512:in `dump'
	from C:/Ruby33-x64/lib/ruby/3.3.0/psych/core_ext.rb:13:in `to_yaml'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-index-0.2.17/lib/relaton/index/file_io.rb:180:in `save'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-index-0.2.17/lib/relaton/index/file_io.rb:134:in `load_index'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-index-0.2.17/lib/relaton/index/file_io.rb:162:in `fetch_and_save'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-index-0.2.17/lib/relaton/index/file_io.rb:42:in `read'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-index-0.2.17/lib/relaton/index/type.rb:22:in `index'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-index-0.2.17/lib/relaton/index/type.rb:64:in `search'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-ietf-1.20.0/lib/relaton_ietf/scrapper.rb:42:in `get_rfcs'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-ietf-1.20.0/lib/relaton_ietf/scrapper.rb:32:in `rfc_item'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-ietf-1.20.0/lib/relaton_ietf/scrapper.rb:19:in `scrape_page'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-ietf-1.20.0/lib/relaton_ietf/ietf_bibliography.rb:12:in `search'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-ietf-1.20.0/lib/relaton_ietf/ietf_bibliography.rb:22:in `get'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-ietf-1.20.0/lib/relaton_ietf/processor.rb:19:in `get'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:193:in `fetch_doc'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:495:in `net_retry'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:448:in `fetch_entry'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:436:in `new_bib_entry'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:388:in `check_bibliocache'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:70:in `fetch'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/db.rb:112:in `block in fetch_async'
	from C:/Ruby33-x64/lib/ruby/gems/3.3.0/gems/relaton-1.20.1/lib/relaton/workers_pool.rb:11:in `block (2 levels) in initialize'
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-rfc] INFO: Downloaded index from `https://raw.githubusercontent.com/relaton/relaton-data-rfcs/main/index-v1.zip`
[relaton-ietf] INFO: (IETF RFC 1951) Found: `RFC 1951`
[relaton-ietf] INFO: (IETF RFC 3161) Found: `RFC 3161`
[relaton-ietf] INFO: (IETF RFC 2315) Found: `RFC 2315`
[relaton-ietf] INFO: (IETF RFC 2083) Found: `RFC 2083`
[relaton-ietf] INFO: (IETF RFC 2046) Found: `RFC 2046`
[relaton-ietf] INFO: (IETF RFC 1950) Found: `RFC 1950`
[relaton-ietf] INFO: (IETF RFC 1321) Found: `RFC 1321`
[relaton-ietf] INFO: (IETF RFC 2045) Found: `RFC 2045`
[relaton-ietf] INFO: (IETF RFC 3454) Found: `RFC 3454`
[relaton-ietf] INFO: (IETF RFC 3986) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 4013) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 4013) Found: `RFC 4013`
[relaton-ietf] INFO: (IETF RFC 3986) Found: `RFC 3986`
[relaton-ietf] INFO: (IETF RFC 5035) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5280) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5480) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5646) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5652) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5755) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5816) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 6234) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 6960) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 7231) Fetching from Relaton repository ...
[relaton-ietf] INFO: (IETF RFC 5035) Found: `RFC 5035`
[relaton-ietf] INFO: (IETF RFC 5480) Found: `RFC 5480`
... snip ...

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions