open-telemetry / opentelemetry-ruby

OpenTelemetry Ruby API & SDK, and related gems
https://opentelemetry.io/
Apache License 2.0
493 stars 244 forks source link

Fix TruffleRuby install failures on tests #1558

Open kaylareopelle opened 10 months ago

kaylareopelle commented 10 months ago

Many CI jobs that run TruffleRuby tests fail to install TruffleRuby and cause the job to fail.

Here's an example failure from a recent run:

Prepare all required actions
Getting action download info
Run ./.github/actions/test_gem
Run # 🛠️ Setup 🛠️
Run ruby/setup-ruby@v1.15[2](https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/7392184795/job/20110274489?pr=1554#step:7:2).0
Modifying PATH
Downloading Ruby
Extracting  Ruby
Print Ruby version
Installing Bundler
> bundle install
/home/runner/.rubies/truffleruby-2[3](https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/7392184795/job/20110274489?pr=1554#step:7:3).0.0/bin/bundle config --local path /home/runner/work/opentelemetry-ruby/opentelemetry-ruby/logs_api/vendor/bundle
/home/runner/.rubies/truffleruby-23.0.0/bin/bundle lock

truffleruby: an internal exception escaped out of the interpreter,
please report it to https://github.com/oracle/truffleruby/issues.

<no message> (com.oracle.truffle.api.CompilerDirectives.ShouldNotReachHere)
    from com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere(CompilerDirectives.java:574)
    from com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere(CompilerDirectives.java:494)
    from com.oracle.truffle.regex.tregex.parser.ast.visitors.RegexASTVisitor.doVisit(RegexASTVisitor.java:105)
    from com.oracle.truffle.regex.tregex.parser.ast.visitors.DepthFirstTraversalRegexASTVisitor.run(DepthFirstTraversalRegexASTVisitor.java:119)
    from com.oracle.truffle.regex.tregex.parser.ast.visitors.DepthFirstTraversalRegexASTVisitor.run(DepthFirstTraversalRegexASTVisitor.java:97)
    from com.oracle.truffle.regex.tregex.parser.ast.visitors.CopyVisitor.copy(CopyVisitor.java:76)
    from com.oracle.truffle.regex.tregex.parser.flavors.RubySubexpressionCalls.replace(RubySubexpressionCalls.java:101)
    from com.oracle.truffle.regex.tregex.parser.flavors.RubySubexpressionCalls.expandNonRecursiveSubexpressionCalls(RubySubexpressionCalls.java:78)
    from com.oracle.truffle.regex.tregex.parser.flavors.RubyRegexParser.parse(RubyRegexParser.java:416)
    from com.oracle.truffle.regex.tregex.TRegexCompilationRequest.parse(TRegexCompilationRequest.java:323)
    from com.oracle.truffle.regex.tregex.TRegexCompilationRequest.compileInternal(TRegexCompilationRequest.java:164)
    from com.oracle.truffle.regex.tregex.TRegexCompilationRequest.compile(TRegexCompilationRequest.java:148)
    from com.oracle.truffle.regex.tregex.TRegexCompiler.doCompile(TRegexCompiler.java:89)
    from com.oracle.truffle.regex.tregex.TRegexCompiler.compile(TRegexCompiler.java:75)
    from com.oracle.truffle.regex.RegexLanguage.createRegexObject(RegexLanguage.java:187)
    from com.oracle.truffle.regex.RegexLanguage.parse(RegexLanguage.java:155)
    from com.oracle.truffle.api.TruffleLanguage$ParsingRequest.parse(TruffleLanguage.java:1000)
    from com.oracle.truffle.api.TruffleLanguage.parse(TruffleLanguage.java:1357)
    from com.oracle.truffle.api.LanguageAccessor$LanguageImpl.parse(LanguageAccessor.java:298)
    from com.oracle.truffle.polyglot.PolyglotSourceCache.parseImpl(PolyglotSourceCache.java:94)
    from com.oracle.truffle.polyglot.PolyglotSourceCache$WeakCache.lookup(PolyglotSourceCache.java:222)
    from com.oracle.truffle.polyglot.PolyglotSourceCache.parseCached(PolyglotSourceCache.java:80)
    from com.oracle.truffle.polyglot.PolyglotLanguageContext.parseCached(PolyglotLanguageContext.java:372)
    from com.oracle.truffle.polyglot.EngineAccessor$EngineImpl.parseForLanguage(EngineAccessor.java:256)
    from com.oracle.truffle.api.TruffleLanguage$Env.parseInternal(TruffleLanguage.java:2423)
    from org.truffleruby.core.regexp.TRegexCache.compileTRegex(TRegexCache.java:183)
    from org.truffleruby.core.regexp.TRegexCache.compile(TRegexCache.java:64)
    from org.truffleruby.core.regexp.TruffleRegexpNodes$TRegexCompileNode.usASCII(TruffleRegexpNodes.java:365)
    from org.truffleruby.core.regexp.TruffleRegexpNodesFactory$TRegexCompileNodeGen.executeTRegexCompile(TruffleRegexpNodesFactory.java:562)
    from org.truffleruby.core.regexp.TruffleRegexpNodes$MatchInRegionTRegexNode.matchInRegionTRegex(TruffleRegexpNodes.java:867)
    from org.truffleruby.core.regexp.TruffleRegexpNodesFactory$MatchInRegionTRegexNodeFactory$MatchInRegionTRegexNodeGen.execute(TruffleRegexpNodesFactory.java:1557)
    from org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
    from org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:45)
    from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
    from org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)
<internal:core> core/truffle/regexp_operations.rb:76:in `match_in_region'
    from <internal:core> core/truffle/regexp_operations.rb:29:in `search_region'
    from <internal:core> core/truffle/regexp_operations.rb:42:in `match'
    from <internal:core> core/regexp.rb:175:in `match'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb:85:in `split'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb:135:in `parse'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/uri/lib/uri/common.rb:185:in `parse'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/uri/lib/uri/common.rb:846:in `URI'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/source/rubygems.rb:352:in `normalize_uri'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/source/rubygems.rb:238:in `add_remote'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/source_list.rb:72:in `add_global_rubygems_remote'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/dsl.rb:175:in `source'
    from /home/runner/work/opentelemetry-ruby/opentelemetry-ruby/logs_api/Gemfile:7:in `eval_gemfile'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/dsl.rb:49:in `eval_gemfile'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/dsl.rb:[12](https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/7392184795/job/20110274489?pr=1554#step:7:13):in `evaluate'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/definition.rb:38:in `build'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler.rb:208:in `definition'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/cli/lock.rb:[37](https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/7392184795/job/20110274489?pr=1554#step:7:39):in `block in run'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/settings.rb:158:in `temporary'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/cli/lock.rb:36:in `run'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/cli.rb:627:in `lock'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/cli.rb:34:in `dispatch'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/cli.rb:28:in `start'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/exe/bundle:28:in `block in <top (required)>'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
    from /home/runner/.rubies/truffleruby-23.0.0/lib/gems/gems/bundler-2.5.3/exe/bundle:20:in `<top (required)>'
    from <internal:core> core/kernel.rb:3[81](https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/7392184795/job/20110274489?pr=1554#step:7:89):in `load'
    from /home/runner/.rubies/truffleruby-23.0.0/bin/bundle:25:in `<main>'
github-actions[bot] commented 8 months ago

👋 This issue has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the keep label to hold stale off permanently, or do nothing. If you do nothing this issue will be closed eventually by the stale bot.