Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ide-1.9.x-beta: code completion fails when any library is invalid #11403

Open
Labels
@ben-xo

Description

Version:

ide-1.9.x-beta nightly built just now

Issue:

When a library in the libraries folder is invalid (in my case, missing a header file that matches the folder name), code completion fails (even though compiling the sketch still works).

The behaviour is that no completion box is brought up by the shortcut. But, also there's no indication as to why it failed in the output pane, so it's a silent fail. (However, fortunately, there is output on stdout if I run Arduino IDE from Terminal).

It's perhaps worth noting that the error message about the invalid library happens all the time during compilation,(and so I've developed a blindness to it until now. It has not prevented any other behaviour before, so I've had no reason to fix it until now.

Workaround:

Moving the invalid library out of the libraries folder works around the problem.

Debugging output:

Whilst error messages do not appear in the error dialog, they do appear when running the IDE from Terminal.

Printed at the point of using the completion shortcut:

java.lang.NullPointerException
 at cc.arduino.packages.discoverers.PluggableDiscovery.run(PluggableDiscovery.java:78)
 at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
 at cc.arduino.packages.discoverers.PluggableDiscovery.run(PluggableDiscovery.java:78)
 at java.lang.Thread.run(Thread.java:748)
Invalid library found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4: no headers files (.h) found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4
Invalid library found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4: no headers files (.h) found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4
Invalid library found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4: no headers files (.h) found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4
Invalid library found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4: no headers files (.h) found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4
Invalid library found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4: no headers files (.h) found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4
Invalid library found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4: no headers files (.h) found in /Users/ben/Documents/Arduino/libraries/ArduinoFHT4
/Users/ben/Downloads/Arduino 1.9.0-beta.app/Contents/Java/arduino-builder -code-complete-at /Users/ben/Documents/Arduino/vu3/vu3.ino:35:20 -logger=machine -hardware /Users/ben/Downloads/Arduino 1.9.0-beta.app/Contents/Java/hardware -hardware /Users/ben/Library/Arduino15/packages -tools /Users/ben/Downloads/Arduino 1.9.0-beta.app/Contents/Java/tools-builder -tools /Users/ben/Downloads/Arduino 1.9.0-beta.app/Contents/Java/hardware/tools/avr -tools /Users/ben/Library/Arduino15/packages -built-in-libraries /Users/ben/Downloads/Arduino 1.9.0-beta.app/Contents/Java/libraries -libraries /Users/ben/Documents/Arduino/libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10900 -build-path /var/folders/0s/75kn5wf101v8fwvwb169sbhr0000gn/T/arduino_build_190981 -warnings=all -build-cache /var/folders/0s/75kn5wf101v8fwvwb169sbhr0000gn/T/arduino_cache_960188 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/Users/ben/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/Users/ben/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/Users/ben/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/Users/ben/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=/Users/ben/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Users/ben/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -experimental /Users/ben/Documents/Arduino/vu3/vu3.ino
autocomplete failure output:
[]
#include <Arduino.h>
#line 1 "/Users/ben/Documents/Arduino/vu3/vu3.ino"
... content of my sketch ...
com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
 at [Source: (String)""; line: 1, column: 0]
 at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
 at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4133)
 at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3988)
 at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2992)
 at cc.arduino.autocomplete.ClangCompletionProvider.getCompletionsImpl(ClangCompletionProvider.java:99)
 at org.fife.ui.autocomplete.CompletionProviderBase.getCompletions(CompletionProviderBase.java:104)
 at org.fife.ui.autocomplete.AutoCompletion.refreshPopupWindow(AutoCompletion.java:801)
 at org.fife.ui.autocomplete.AutoCompletion$AutoCompleteAction.actionPerformed(AutoCompletion.java:1351)
 at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1668)
 at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
 at javax.swing.JComponent.processKeyBindings(JComponent.java:2929)
 at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
 at java.awt.Component.processEvent(Component.java:6316)
 at java.awt.Container.processEvent(Container.java:2239)
 at java.awt.Component.dispatchEventImpl(Component.java:4889)
 at java.awt.Container.dispatchEventImpl(Container.java:2297)
 at java.awt.Component.dispatchEvent(Component.java:4711)
 at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
 at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
 at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
 at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
 at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
 at java.awt.Component.dispatchEventImpl(Component.java:4760)
 at java.awt.Container.dispatchEventImpl(Container.java:2297)
 at java.awt.Window.dispatchEventImpl(Window.java:2746)
 at java.awt.Component.dispatchEvent(Component.java:4711)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
 at java.awt.EventQueue.access500ドル(EventQueue.java:97)
 at java.awt.EventQueue3ドル.run(EventQueue.java:709)
 at java.awt.EventQueue3ドル.run(EventQueue.java:703)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
 at java.awt.EventQueue4ドル.run(EventQueue.java:733)
 at java.awt.EventQueue4ドル.run(EventQueue.java:731)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

For my example, removing ArduinoFHT4 allows autocomplete to succeed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /