TestingResearchIllinois/NonDex

"debug" mode throws NPE using the latest version

Closed this issue · 2 comments

Step to reproduce:

  1. mvn nondex:clean
  2. mvn nondex:nondex
  3. mvn nondex:debug

If using 1.1.1 version, debug should succeed and it generates a debug file containing the stacktrace.
However, using 1.1.2-SNAPSHOT, which is the build from cloning this repo, debug command crashes with NPE and does not generate debug file.

StackTrace

Caused by: java.lang.NullPointerException
    at edu.illinois.nondex.common.Configuration.getInvocationCount (Configuration.java:245)
    at edu.illinois.nondex.plugin.DebugTask.startDebugBinary (DebugTask.java:158)
    at edu.illinois.nondex.plugin.DebugTask.debugWithConfigurations (DebugTask.java:136)
    at edu.illinois.nondex.plugin.DebugTask.tryDebugSeeds (DebugTask.java:95)
    at edu.illinois.nondex.plugin.DebugTask.debug (DebugTask.java:85)
    at edu.illinois.nondex.plugin.DebugMojo.execute (DebugMojo.java:77)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

It looks like when calling debug, sometimes it does not generate invocations file and thus causing a NPE.

Addressed by PR #130