deltacv / EOCV-Sim

Develop, test, and tune your EasyOpenCV pipelines directly on your computer with a simple GUI !
https://deltacv.gitbook.io/eocv-sim/
MIT License
51 stars 18 forks source link

White Screen on Launch #70

Closed wrkzk closed 2 years ago

wrkzk commented 2 years ago

Describe the bug When I launch the jar file using the command line, it appears to start up normally without any errors, but the window is white and displays nothing.

Expected behavior That the interface would display.

Desktop (please complete the following information):

serivesmejia commented 2 years ago

Hi! I'm sorry that you are having that issue.

Two things: Which version of EOCV-Sim are you using?

And, could you provide the logs? You might be able to see a "lasterror-eocvsim.log" file, or a "crashreport-blablahblah-eocvsim.log" in the same folder where the jar file is located.

If you don't see such file, can you run the sim using the console and copypasting the messages once it reaches to the blank screen? e.g

java -jar EOCV-Sim-X.X.X-all.jar

Hope that's clear

wrkzk commented 2 years ago

I just tested this again with the most recent release, 3.3.2. I am using openjdk 17.0.1. I have pasted the output from when I run the jar from the command line. Thanks so much for your help!

00:00  INFO: [LockFile] Probably locked file /home/warren/.eocvsim/.lock
00:00  INFO: [EOCVSim] Confirmed claiming of the lock file in /home/warren/.eocvsim

00:00  INFO: [EOCVSim] Initializing EasyOpenCV Simulator v3.3.2 (c86b9e3)

00:00  INFO: [EOCVSim] Loading native lib...
00:00  INFO: [Icons] Loading future icon ico_eocvsim
00:00  INFO: [EOCVSim] Successfully loaded the OpenCV native lib

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
00:00  INFO: [EOCVSim] Using the OpenIMAJ webcam driver
00:00  INFO: [ConfigManager] Initializing...
00:00  INFO: [ClasspathScan] Starting to scan classpath...
00:00  INFO: [ConfigManager] Loaded config from file successfully

00:00  INFO: [WorkspaceManager] Set current workspace to /home/warren/.eocvsim/default_workspace
00:00  INFO: [WorkspaceManager] Loaded workspace config successfully
00:00  INFO: [FileWatcher-Workspace] Starting to watch directories in:
/home/warren/.eocvsim/default_workspace
/home/warren/.eocvsim/default_workspace

00:00  INFO: [WorkspaceManager] Loaded workspace config successfully

00:00  INFO: [InputSourceManager] Initializing...
00:00  INFO: [InputSourceManager] Adding InputSource ImageSource("/tmp/ug_eocvsim_4.jpg", 320x240) (ImageSource)
00:00  INFO: [InputSourceManager] Adding InputSource ImageSource("/tmp/ug_eocvsim_1.jpg", 320x240) (ImageSource)
00:00  INFO: [InputSourceManager] Adding InputSource ImageSource("/tmp/ug_eocvsim_0.jpg", 320x240) (ImageSource)
00:00  INFO: [Icons] Loading future icon ico_colorpick_pointer
00:00  INFO: [InputSourceManager] Set InputSource to ImageSource("/tmp/ug_eocvsim_4.jpg", 320x240) (ImageSource)
00:00  INFO: [InputSourceLoader] InputSources file version is SEIS

00:00  INFO: [PipelineManager] Initializing...
00:00  INFO: [CompiledPipelineManager] Initializing...
00:01  INFO: [WorkspaceManager] Loaded workspace config successfully
00:01  INFO: [CompiledPipelineManager] Building java files in workspace, at /home/warren/.eocvsim/default_workspace
00:01  INFO: [PipelineStandardFileManager] Scanning classpath files...
00:01  INFO: [PipelineStandardFileManager] Found classpath file /home/warren/Downloads/EOCV-Sim-3.3.2-all.jar in classpath

00:01  INFO: [ClasspathScan] ClassGraph finished scanning (took 0.798668451s)

00:01  INFO: [ClasspathScan] Found 0 pipelines

00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.BooleanField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.EnumField
00:01  INFO: [ClasspathScan] Found acceptor for this tunable field, com.github.serivesmejia.eocvsim.tuner.field.EnumField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.StringField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.cv.PointField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.cv.RectField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.cv.ScalarField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.numeric.DoubleField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.numeric.FloatField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.numeric.IntegerField
00:01  INFO: [ClasspathScan] Found tunable field com.github.serivesmejia.eocvsim.tuner.field.numeric.LongField

00:01  INFO: [ClasspathScan] Found 10 tunable fields and 1 acceptors

00:01  INFO: [ClasspathScan] Finished scanning (took 0.807403911s)
00:01  INFO: [PipelineManager] Found 1 pipeline(s)

00:01  INFO: [Icons] Loading future icon ico_img
00:01  INFO: [EOCVSim] Begin EOCVSim loop

00:02  INFO: [CompiledPipelineManager] Looking for pipelines in jar file /home/warren/.eocvsim/compiler/out_jars/pipelines.jar
00:02  INFO: [CompiledPipelineManager] Added AprilTagDetectionPipeline from jar
00:02  INFO: [CompiledPipelineManager] Added SimpleThresholdPipeline from jar
00:02  INFO: [CompiledPipelineManager] Added SkystoneDeterminationPipeline from jar
00:02  INFO: [CompiledPipelineManager] Added StageSwitchingPipeline from jar
00:02  INFO: [CompiledPipelineManager] Added StoneOrientationAnalysisPipeline from jar
00:02  INFO: [CompiledPipelineManager] Build successful (took 1.00 seconds)

Using the JDK compiler

> AprilTagDetectionPipeline.java
      (95:17): MANDATORY_WARNING: finalize() in java.lang.Object has been deprecated

00:02  INFO: [Icons] Loading future icon ico_hammer
00:02  INFO: [Icons] Loading future icon ico_gears
00:02  INFO: [PipelineManager] Changing to pipeline com.github.serivesmejia.eocvsim.pipeline.DefaultPipeline
00:02  INFO: [PipelineManager] Instantiated pipeline class com.github.serivesmejia.eocvsim.pipeline.DefaultPipeline
00:02  INFO: [PipelineSnapshot] Taken snapshot of pipeline com.github.serivesmejia.eocvsim.pipeline.DefaultPipeline
00:02  INFO: [Icons] Loading future icon ico_slider
00:02  INFO: [Icons] Loading future icon ico_config
00:02  INFO: [Icons] Loading future icon ico_colorpick
00:02  INFO: [PipelineManager] Initialized pipeline DefaultPipeline
serivesmejia commented 2 years ago

Hm, that doesn't look like it's a problem on the eocv sim side since UI initialization is happening correctly (see the "loading future icon" messages at different points, which means that the UI is correctly loading and requesting the required icons).

Though, for arch Linux specifically i found something on the wiki regarding to java UI apps: https://wiki.archlinux.org/title/Java#Gray_window,_applications_not_resizing_with_WM,_menus_immediately_closing That might be the problem? I have never used arch honestly so I'm not sure but i hope this helps!

wrkzk commented 2 years ago

Thanks so much for the wiki link! Sorry to bother you with an unrelated issue. Running export _JAVA_AWT_WM_NONREPARENTING=1 before running the program fixed it.