repeats / Repeat

Cross-platform mouse/keyboard record/replay and automation hotkeys/macros creation, and more advanced automation features.
Apache License 2.0
1.03k stars 76 forks source link

Build 5.5.1 won't launch on Mac OS 10.13.6 #27

Closed SeaMac closed 4 years ago

SeaMac commented 4 years ago

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 ...

hptruong93 commented 4 years ago

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

SeaMac commented 4 years ago

"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

SeaMac commented 4 years ago

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.

SeaMac commented 4 years ago

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.

SeaMac commented 4 years ago

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/ ...

hptruong93 commented 4 years ago

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.

SeaMac commented 4 years ago

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.

SeaMac commented 4 years ago

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.

hptruong93 commented 4 years ago

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?

SeaMac commented 4 years ago

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.