Skip to content

NPE and OOB exceptions logged during startup of Cytoscape desktop #51

Description

@sreuland

I'm running cytoscape 3.10.4 with the 1.20 version of stringapp and the app is trigger some console logs stating NPE and OOB:

shreuland@pcfadmins-MacBook-Air Cytoscape_v3.10.4 % ./cytoscape.sh
karaf.base: /Applications/Cytoscape_v3.10.4/framework
JAVA_HOME: /opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home
             _                                    
   ___ _   _| |_  ___  ___  ___  __ _ _ __   ___  
  / __| | | | __|/ _ \/ __|/ __|/ _` | '_ \ / _ \ 
 | (__| |_| | |_| (_) \__ \ (__| (_| | |_) |  __/ 
  \___|\__, |\__|\___/|___/\___|\__,_| .__/ \___| 
       |___/                         |_|          

Cytoscape 3.10.4

Hit '<tab>' for a list of available commands
   and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Cytoscape.

karaf@Cytoscape 3.10.4()> [LWJGL] [ERROR] Incompatible Java and native library versions detected.                                                                                                                                                
Possible reasons:
	a) -Djava.library.path is set to a folder containing shared libraries of an older LWJGL version.
	b) The classpath contains jar files of an older LWJGL version.
Possible solutions:
	a) Make sure to not set -Djava.library.path (it is not needed for developing with LWJGL 3) or make
	   sure the folder it points to contains the shared libraries of the correct LWJGL version.
	b) Check the classpath and make sure to only have jar files of the same LWJGL version in it.
Found 1 platforms
Got 1 platforms
Got 1 devices
Platform: Apple
Device: OpenCL 1.2  Apple M2
The cl_program [0xC899227C0] was built successfully
Program built
Top device after init = OpenCL 1.2  Apple M2
UserAgent = Cytoscape v3.10.4 Java 17.0.18 Mac OS X 26.5.2
latestVersion = 3.10.4
stringApp 2.2.0 initialized.
14:19:02.250 [pool-9-thread-1] DEBUG org.cytoscape.app.communitydetection.PropertiesHelper - Updating properties
Message: Loading 
Message: Loading complete
Message: 
Message: Loading 
Message: Loading complete
java.lang.NullPointerException: Cannot invoke "edu.ucsf.rbvi.stringApp.internal.model.Species.isCustom()" because the return value of "edu.ucsf.rbvi.stringApp.internal.model.Species.getSpecies(String)" is null
	at edu.ucsf.rbvi.stringApp.internal.utils.ModelUtils.getAvailableInteractionPartners(ModelUtils.java:789)
	at edu.ucsf.rbvi.stringApp.internal.tasks.ExpandNetworkTask.<init>(ExpandNetworkTask.java:135)
	at edu.ucsf.rbvi.stringApp.internal.tasks.ExpandNetworkTaskFactory.createTaskIterator(ExpandNetworkTaskFactory.java:76)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl.getArgs(AvailableCommandsImpl.java:408)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl.getArguments(AvailableCommandsImpl.java:166)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.doPerformScan(CommandETLService.java:212)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.performScan(CommandETLService.java:187)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.lambda$scheduleScan$0(CommandETLService.java:102)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
	at java.base/java.util.Objects.checkIndex(Objects.java:361)
	at java.base/java.util.ArrayList.get(ArrayList.java:427)
	at edu.ucsf.rbvi.stringApp.internal.tasks.GetEnrichmentTask.<init>(GetEnrichmentTask.java:117)
	at edu.ucsf.rbvi.stringApp.internal.tasks.GetEnrichmentTaskFactory.createTaskIterator(GetEnrichmentTaskFactory.java:53)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl$StaticTaskFactoryProvisioner$1.createTaskIterator(AvailableCommandsImpl.java:523)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl.getArgs(AvailableCommandsImpl.java:408)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl.getArguments(AvailableCommandsImpl.java:166)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.doPerformScan(CommandETLService.java:212)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.performScan(CommandETLService.java:187)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.lambda$scheduleScan$0(CommandETLService.java:102)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
	at java.base/java.util.Objects.checkIndex(Objects.java:361)
	at java.base/java.util.ArrayList.get(ArrayList.java:427)
	at edu.ucsf.rbvi.stringApp.internal.tasks.GetEnrichmentTask.<init>(GetEnrichmentTask.java:117)
	at edu.ucsf.rbvi.stringApp.internal.tasks.GetPublicationsTaskFactory.createTaskIterator(GetPublicationsTaskFactory.java:44)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl$StaticTaskFactoryProvisioner$1.createTaskIterator(AvailableCommandsImpl.java:523)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl.getArgs(AvailableCommandsImpl.java:408)
	at org.cytoscape.command.internal.available.AvailableCommandsImpl.getArguments(AvailableCommandsImpl.java:166)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.doPerformScan(CommandETLService.java:212)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.performScan(CommandETLService.java:187)
	at edu.ucsd.idekerlab.cytoscapemcp.gateway.CommandETLService.lambda$scheduleScan$0(CommandETLService.java:102)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
create view value: true
total time parsing          : 1 ms
Time to create NiceCyNetwork        : 137 ms
total time to build network(s) (not views)        : 138 ms
Message: 
Message: Loading 
Message: Loading complete

It seems transient though, as once the desktop finishes coming up, I am able to run string queries and use the app overall w/o runtime problems.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions