Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Naming log files and game IDs #942

Open
mansarin opened this issue Aug 1, 2017 · 4 comments
Open

Naming log files and game IDs #942

mansarin opened this issue Aug 1, 2017 · 4 comments

Comments

@mansarin
Copy link

mansarin commented Aug 1, 2017

The EnergyMixStats logtool fails to run on Experiment Scheduler games when a "--with-gameid" option is included. This is probably because the gameid of ES games are different from tournament games. This is probably because we need to establish and document a naming convention for games.

Full error stack:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building powertac-logtool-examples 1.5.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.5.0:exec (default-cli) @ logtool-examples ---
Game Test_Mohammad_10, 2457 timeslots
Exception in thread "main" java.lang.NullPointerException
at org.powertac.logtool.example.EnergyMixStats.report(EnergyMixStats.java:174)
at org.powertac.logtool.LogtoolCore.readStateLog(LogtoolCore.java:241)
at org.powertac.logtool.LogtoolCore.readStateLog(LogtoolCore.java:150)
at org.powertac.logtool.LogtoolCore.readStateLog(LogtoolCore.java:141)
at org.powertac.logtool.LogtoolContext.cli(LogtoolContext.java:128)
at org.powertac.logtool.example.EnergyMixStats.cli(EnergyMixStats.java:145)
at org.powertac.logtool.example.EnergyMixStats.main(EnergyMixStats.java:127)
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:764)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:711)
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:289)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
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:497)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:00 min
[INFO] Finished at: 2017-08-01T15:02:26+02:00
[INFO] Final Memory: 9M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (default-cli) on project logtool-examples: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

@jecollins
Copy link
Member

Although the code should be robust to mis-named logs, this log was produced by the experiment manager. It seems to me that the experiment manager should follow the same naming convention as the tournament manager. This is a basic data-management issue. Consistent naming is a big help to anyone writing analysis tools.

@jecollins
Copy link
Member

EnergyMixStats no longer depends on a specific format for the game-id.

@jecollins
Copy link
Member

Discussion of naming was started in Drive. Once it's finalized, the final version will be moved into the wiki.

@jecollins
Copy link
Member

The naming conventions have changed over the years, and we have tools that depend on them. An example is the Python script DataFileIterator. Either that should contain a mapping that converts a year to the appropriate RE, or it should retrieve the correct RE from a stable, maintained URL.

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

No branches or pull requests

3 participants