repeats/Repeat

Build 5.5.1 won't launch on Mac OS 10.13.6

SeaMac opened this issue · 10 comments

Build 5.5.1 won't launch on Mac OS 10.13.6 ... while other .jar files can be launched by the (default) Jar Launcher.app (15.0.1) OK:
this .jar file doesn't launch, or appear to leave error reports in the Console/sys log . Where should I look to see if it is functioning? No window appears ...

Could you give more information about which Java version you have on your machine?
Open the terminal and type in
$java -version

Can you also try to launch the program via terminal and see if there's any error?
$cd
$java -jar Repeat_5_5_1.jar

"Open the terminal and type in
$java -version"

I Get:
Triple-Time:~ ###all$ $java -version
-bash: -version: command not found

Can you also try to launch the program via terminal and see if there's any error?
$cd
$java -jar Repeat_5_5_1.jar

I get this:
Triple-Time:~ ###all$ cd /Applications/Utilities
Triple-Time:Utilities ###all$ $java -jar Repeat_5_5_1.jar
-bash: -jar: command not found

Java in the Control Panel says: Java 8 - version 261 (build 1.8.0_261-b12)
Looks like I don't have a version past 8 ... oh, well.

I found that if I omit the $ in the commands they work OK.

I tried Installing JDK 14 to see if I could get repeat to work.
In the Terminal I typed:
Triple-Time:~ user$ java -version
java version "14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

Then I cd to the directory where Repeat WAS
And Ran the -jar command.

Triple-Time:Utilities user$ java -jar Repeat_5_5_1.jar
Aug 21, 2020 5:41:48 PM frontEnd.MainFrontEnd run
SEVERE: Cannot extract bootstrap resources.
java.nio.file.NoSuchFileException: /Applications/Utilities/resources/nativehooks/osx/RepeatHook.out
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:478)
at java.base/java.nio.file.Files.newOutputStream(Files.java:224)
at java.base/java.nio.file.Files.copy(Files.java:3144)
at org.simplenativehooks.utilities.FileUtility.extractFromCurrentJar(FileUtility.java:555)
at org.simplenativehooks.staticResources.AbstractBootstrapResource.extractResources(AbstractBootstrapResource.java:21)
at org.simplenativehooks.staticResources.BootStrapResources.extractResources(BootStrapResources.java:26)
at staticResources.NativeHookBootstrapResources.extractResources(NativeHookBootstrapResources.java:11)
at staticResources.BootStrapResources.extractResources(BootStrapResources.java:78)
at frontEnd.MainFrontEnd.run(MainFrontEnd.java:25)
at main.Main.main(Main.java:11)

The Java Control Panel says Java 8 is still installed.

Since I have both Java 8 / AND Java 14 installed, is there a terminal command I can use to specify WHICH version of Java Repeat 5.5.1 will use? I can't tell if those errors I posted are due to Repeat trying to use Java 8 ... even though the default the Terminal returns IS
java version "14.0.2" 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)

If Repeat DID use Version 14 ... then these errors are all I have:

Macintosh HD:Utilities user$ java -jar Repeat_5_5_1.jar
Aug 21, 2020 5:41:48 PM frontEnd.MainFrontEnd run
SEVERE: Cannot extract bootstrap resources.
java.nio.file.NoSuchFileException: /Applications/Utilities/resources/nativehooks/osx/RepeatHook.out
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:478)
at java.base/java.nio.file.Files.newOutputStream(Files.java:224)
at java.base/java.nio.file.Files.copy(Files.java:3144)
at org.simplenativehooks.utilities.FileUtility.extractFromCurrentJar(FileUtility.java:555)
at org.simplenativehooks.staticResources.AbstractBootstrapResource.extractResources(AbstractBootstrapResource.java:21)
at org.simplenativehooks.staticResources.BootStrapResources.extractResources(BootStrapResources.java:26)
at staticResources.NativeHookBootstrapResources.extractResources(NativeHookBootstrapResources.java:11)
at staticResources.BootStrapResources.extractResources(BootStrapResources.java:78)
at frontEnd.MainFrontEnd.run(MainFrontEnd.java:25)
at main.Main.main(Main.java:11)

If it matters ... I placed the Repeat JAR in the Utilities Folder UNDER the Applications Folder ... the path is /Applications/Utilities/ instead of /Applications/ ...

Usually you can see where the 'java' binary is by using 'which java' command. Perhaps other Java installations are in a close by directory.

I still haven't figured out why it fails to extract with the above error. I tried with Java 10 on OSX 10.15.6 and Repeat_5_5_1.jar and it extracted successfully.

Could you try running this in your home directory instead? Instead of putting it under '/Applications/', try putting it under '~/Repeat' for example. The '/Applications/' directory may require some privileges to write to.

Could you try running this in your home directory instead? Instead of putting it under '/Applications/', try putting it under '~/Repeat' for example. The '/Applications/' directory may require some privileges to write to.

Fixed It ... I put in in the Applications folder inside my Home folder.
When I double Clicked it I got a Menubar Icon - and a resources folder showed up next to the .jar file in that folder. Clicking the Menubar Icon and selecting "Show UI" got me a Window.
The log in that Window said:

INFO: Starting ipc service UI server
Aug 23, 2020 2:16:39 PM core.webui.server.UIServer start
INFO: UI server up and running...
Aug 23, 2020 2:16:40 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service Python IPC client
Aug 23, 2020 2:16:40 PM core.ipc.repeatClient.IPCClientService start
WARNING: Launcher does not exist. Doing nothing.
Aug 23, 2020 2:16:40 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service C# IPC client
Aug 23, 2020 2:16:40 PM core.ipc.repeatClient.IPCClientService start
WARNING: Launcher /Users/username/Applications/resources/csharp/Repeat.exe is not executable.
Aug 23, 2020 2:16:40 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service Scala IPC Client
Aug 23, 2020 2:16:40 PM core.ipc.repeatClient.IPCClientService start
WARNING: Launcher does not exist. Doing nothing.
Aug 23, 2020 2:16:40 PM frontEnd.MainBackEndHolder launchUI
INFO: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Initialization finished. UI server is at http://localhost:65401
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

I did not attempt to actually USE Repeat ... I Will test it all out later. I noticed there was an .exe file in there somewhere that my Mac hated ... and it did throw warnings about something else.

I moved the .jar file into it's OWN Directory under Applications and relaunched it. It spawned a new resources folder and a config.json file. I tested it a little ... I looked in the IPC Panel:

Repeat

IPCs

Process Port Running Launch at startup
Controller server 9999 true true
CLI server 65432 true true
UI server 65401 true true
Python IPC client 0 false true
C# IPC client 0 false true
Scala IPC Client 0 false true

3 of the clients aren't running.

Here are the errors in the log NOW.
Aug 23, 2020 2:31:55 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service Controller server
Aug 23, 2020 2:31:55 PM core.ipc.repeatServer.ControllerServer$1 run
INFO: Waiting for client connections...
Aug 23, 2020 2:31:56 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service CLI server
Aug 23, 2020 2:31:56 PM core.cli.server.CliServer start
INFO: CLI server up and running...
Aug 23, 2020 2:31:56 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service UI server
Aug 23, 2020 2:31:56 PM core.webui.server.UIServer start
INFO: UI server up and running...
Aug 23, 2020 2:31:56 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service Python IPC client
Aug 23, 2020 2:31:56 PM core.ipc.repeatClient.IPCClientService start
WARNING: Launcher does not exist. Doing nothing.
Aug 23, 2020 2:31:56 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service C# IPC client
Aug 23, 2020 2:31:56 PM core.ipc.repeatClient.IPCClientService start
WARNING: Launcher /Users/username/Applications/Repeat/resources/csharp/Repeat.exe is not executable.
Aug 23, 2020 2:31:57 PM core.ipc.IPCServiceManager initiateServices
INFO: Starting ipc service Scala IPC Client
Aug 23, 2020 2:31:57 PM core.ipc.repeatClient.IPCClientService start
WARNING: Launcher does not exist. Doing nothing.
Aug 23, 2020 2:31:57 PM frontEnd.MainBackEndHolder launchUI
INFO: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Initialization finished. UI server is at http://localhost:65401
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

THEN:
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378)
at org.apache.http.impl.nio.reactor.SessionInputBufferImpl.fill(SessionInputBufferImpl.java:204)
at org.apache.http.impl.nio.codecs.AbstractMessageParser.fillBuffer(AbstractMessageParser.java:136)
at org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:258)
at org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:215)
at org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:53)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)
at java.lang.Thread.run(Thread.java:748)

The Mouse Pointer Coordinates are updating As I move the Mouse around. It IS partially working.
But that .exe executable in resources/csharp/ directory isn't compatible with this OS and won't work.

So the problem was because of the /Applications directory requiring privileges to extract content.
Everything else you see is intended behavior:

  1. Scala & C# aren't suppose to work on OSX, so them being disabled is intended behavior.
  2. java.io.IOException: Connection reset by peer is because browser tabs cancelling connection mid way. It doesn't really affect any functionality.
  3. To launch the Python client, follow instruction at https://github.com/repeats/Repeat/wiki/Coding-languages#python

Is there any other feature that you want to try out but couldn't?

If I find other issues as I learn/use it I'll be sure to open a new ticket. The Issue was: Application REQUIRES Write Permission for the Directory it is in.
Now we know.