Skip to content

Build failure and cryptic error when arduino binary fails to list its preferences #128

Closed
@ianfixes

Description

@ianfixes

System

Issue Summary

Originally posted as part of #127

You can get the error get_pref': undefined method []' for nil:NilClass` when trying to launch the CI script.

$ bundle exec arduino_ci_remote.rb
Attempting to download Arduino package with open-uri...[note: elipses elided]...
Extracting archive with tar
Located Arduino binary...                           /root/arduino_ci_ide/arduino
/var/lib/gems/2.5.0/gems/arduino_ci-0.2.0/lib/arduino_ci/arduino_cmd.rb:106:in `get_pref': undefined method `[]' for nil:NilClass (NoMethodError)
	from /var/lib/gems/2.5.0/gems/arduino_ci-0.2.0/lib/arduino_ci/arduino_cmd.rb:78:in `lib_dir'
	from /var/lib/gems/2.5.0/gems/arduino_ci-0.2.0/exe/arduino_ci_remote.rb:176:in `perform_unit_tests'
	from /var/lib/gems/2.5.0/gems/arduino_ci-0.2.0/exe/arduino_ci_remote.rb:383:in `<top (required)>'
	from /usr/local/bin/arduino_ci_remote.rb:23:in `load'
	from /usr/local/bin/arduino_ci_remote.rb:23:in `<main>'

This happens when arduino --get-pref fails, as no settings are parsed.

$ /root/arduino_ci_ide/arduino --get-pref
Picked up JAVA_TOOL_OPTIONS: 
Loading configuration...
Initializing packages...
cc.arduino.contributions.SignatureVerificationFailedException: package_index.json file signature verification failed
	at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:91)
	at processing.app.BaseNoGui.initPackages(BaseNoGui.java:483)
	at processing.app.Base.<init>(Base.java:262)
	at processing.app.Base.main(Base.java:145)

Expected behavior

The code should react immediately to the failure of the arduino binary, and print a helpful error message. It should also raise some form of exception and abort (as nothing can be salvaged).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingci scriptsThe test runner scripts

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions