rdoc non-determinism: module includes can be added once or twice to generated .ri
Open
Nobody has claimed this yet.
bug
- Dominant language
- Ruby
- Stars
- 930
- Forks
- 465
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 27
Description
We're observing a sporadically occurring non-determinism in generated .ri files:
[ak@localhost ruby-repro]$ ri --dump=./oe-reproducible-20211214-gj4vndgo/packages-excluded/reproducibleA/tmp/deploy/rpm/core2_64/usr/share/ri/3.0.0/system/Gem/DefaultUserInteraction/cdesc-DefaultUserInteraction.ri
[module Gem::DefaultUserInteraction:
includes:
#<RDoc::Include:0x384 Gem::DefaultUserInteraction.rdoc::include Gem::Text>
constants:
....
[ak@localhost ruby-repro]$ ri --dump=./oe-reproducible-20211214-gj4vndgo/packages-excluded/reproducibleB/tmp/deploy/rpm/core2_64/usr/share/ri/3.0.0/system/Gem/DefaultUserInteraction/cdesc-DefaultUserInteraction.ri
[module Gem::DefaultUserInteraction:
includes:
#<RDoc::Include:0x384 Gem::DefaultUserInteraction.rdoc::include Gem::Text>,
#<RDoc::Include:0x398 Gem::DefaultUserInteraction.rdoc::include Gem::Text>
constants:
This occurs in random .ri files, but the pattern seems same: the difference is always in the includes, and how many times a specific one gets listed.
issue-18456-attachments.zip
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached reproducer and compare the generated .ri files using ri --dump, focusing on the includes section. Trace why the same module include appears once or twice, then verify that repeated generation produces identical include lists in the affected .ri files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- documentation
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100