Code Monkey home page Code Monkey logo

beacon's People

Contributors

dependabot[bot] avatar dotstart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

beacon's Issues

[BUG] Problem with opening ports on Linux

To Reproduce
Steps to reproduce the behavior:

  1. Open Beacon.jar
  2. Try openning any port
  3. An Error

Expected behavior
An error should pop out in the console saying- Port mapping registration for port has failed

Screenshots
If applicable, add screenshots to help explain your problem.
image

Environment (please complete the following information):

  • OS: Raspbian
  • Version 10
  • Application Version 2.2.0

CompletionException: java.io.IOException: error response (UPnPError/errorCode=714)

When a port mapping has been removed manually, has somehow expired (for instance, when the application is suspended for longer periods of time), or was rejected silently by a non-compliant router, the application crashes citing a UPnP error.

Expected Behavior
The error should be logged and ignored as the desired state has already been achieved.

Environment (please complete the following information):

  • OS: Windows 10
  • Application Version: 2.4.0

Additional Context

Message: CompletionException: java.io.IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=714, UPnPError/errorDescription=NoSuchEntryInArray}
  java.util.concurrent.CompletableFuture.reportJoin::-1
  java.util.concurrent.CompletableFuture.join::-1
  tv.dotstart.beacon.forwarding.ActionExtensionsKt.invoke in ActionExtensions.kt::48
  tv.dotstart.beacon.forwarding.PortMapping.remove in PortMapping.kt::79
  tv.dotstart.beacon.forwarding.PortExposureProvider.close in PortExposureProvider.kt::142
  tv.dotstart.beacon.controller.MainController.onServiceClose in MainController.kt::211
  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0::-2
  jdk.internal.reflect.NativeMethodAccessorImpl.invoke::-1
  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke::-1
  java.lang.reflect.Method.invoke::-1
  com.sun.javafx.reflect.Trampoline.invoke::-1
Message: IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=714, UPnPError/errorDescription=NoSuchEntryInArray}
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::95
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl.invokeCustomSync in ActionImpl.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::63
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::22
  net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run in ExecuteFunction.kt::19
  java.util.concurrent.ThreadPoolExecutor.runWorker::-1
  java.util.concurrent.ThreadPoolExecutor$Worker.run::-1
  java.lang.Thread.run::-1

Critical "Not on FX application thread; currentThread = preload" error on startup

As soon as I launch the .jar version of this app on command line, I am met with a "Not on FX application thread; currentThread = preload" Error, which tells me to report it here.

Reproduction Steps
Describe the steps to reproduce the behavior:
This is exactly what I did.

  1. Launch the app via command line.

Expected Behavior
the app should launch normally without any errors

Screenshots
image

Environment (please complete the following information):

  • OS: Windows 10
  • Application Version: 2.4.0
  • Java version 17.0.1

Additional Context
Full error log:
`Beacon Error Report

Version: 3.0.0-alpha.4
Date: 2022-02-05T19:12:19.3217681-05:00
Java Version: 17.0.1
Java Architecture: amd64
Operating System: Windows 10 (10.0)

Stack Trace:

java.lang.IllegalStateException: Not on FX application thread; currentThread = preload
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:295)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:458)
at javafx.stage.Stage.(Stage.java:254)
at javafx.stage.Stage.(Stage.java:240)
at javafx.scene.control.HeavyweightDialog$1.(HeavyweightDialog.java:52)
at javafx.scene.control.HeavyweightDialog.(HeavyweightDialog.java:52)
at javafx.scene.control.Dialog.(Dialog.java:268)
at com.jfoenix.controls.JFXAlert.(JFXAlert.java:76)
at com.jfoenix.controls.JFXAlert.(JFXAlert.java:73)
at tv.dotstart.beacon.ui.util.AlertFunctionsKt.dialog(AlertFunctions.kt:44)
at tv.dotstart.beacon.ui.util.AlertFunctionsKt.dialog$default(AlertFunctions.kt:43)
at tv.dotstart.beacon.ui.util.AlertFunctionsKt.actionErrorDialog(AlertFunctions.kt:74)
at tv.dotstart.beacon.ui.exposure.PortExposureProvider.refresh(PortExposureProvider.kt:92)
at tv.dotstart.beacon.ui.exposure.PortExposureProvider$Preloader.load(PortExposureProvider.kt:151)
at tv.dotstart.beacon.ui.preload.Preloader$preload$1.invoke(Preloader.kt:86)
at tv.dotstart.beacon.ui.preload.Preloader$preload$1.invoke(Preloader.kt:66)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
`

Full Console Log
C:\Users\USERNAME\Downloads>java -jar Beacon.jar WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance. [19:21:14] [ main] [INFO]: Detected native Bytecode version: 61.0 ____ / __ )___ ____ __________ ____ / __ / _ \/ __ / / __ / __
/ /
/ / __/ /
/ / /
/ /_/ / / / /
/
/_/_,/_/__// //

[19:21:14] [ main] [INFO]: Application Version: 3.0.0-alpha.4
[19:21:14] [ main] [INFO]: Native Bytecode Version: 61.0
[19:21:14] [ main] [INFO]: Operating System: WINDOWS
[19:21:14] [ main] [INFO]: Persistence Directory: C:\Users\Lowen\AppData\Roaming
[19:21:14] [ main] [INFO]: System Repositories (3): github://dotStart/Beacon#indie.dat, github://dotStart/Beacon#steam.dat, github://dotStart/Beacon#tools.dat
[19:21:14] [ main] [INFO]: Cache duration has been set to PT24H
[19:21:14] [ JavaFX-Launcher] [WARN]: Unsupported JavaFX configuration: classes were loaded from unnamed module @6193932a
[19:21:15] [JavaFX Application Thread] [INFO]: Loading user configuration file
[19:21:15] [JavaFX Application Thread] [INFO]: No prior configuration file located - Assuming defaults
[19:21:15] [JavaFX Application Thread] [INFO]: Displaying splash screen
[19:21:15] [JavaFX Application Thread] [INFO]: Starting preloading process
[19:21:16] [ preload] [INFO]: --- update ---
[19:21:18] [ preload] [INFO]: --- gateway ---
[19:21:18] [ preload] [INFO]: Querying network for compatible internet gateway
[19:21:18] [ preload] [INFO]: Received announcement for device "RBR50 (Gateway)" (NETGEAR Orbi Desktop AC3000 Router) of type urn:schemas-upnp-org:device:InternetGatewayDevice:1 by NETGEAR,Inc. http://www.netgear.com
[19:21:18] [ preload] [INFO]: Device "WANConnectionDevice" is compatible
[19:21:23] [ preload] [ERROR]: Gateway refresh failed
tv.dotstart.beacon.core.upnp.error.ActionFailedException: Device failed to perform action: Action Failed
at tv.dotstart.beacon.core.upnp.ActionExtensionsKt$invoke$3.invoke(ActionExtensions.kt:70) ~[Beacon.jar:?]
at tv.dotstart.beacon.core.upnp.ActionExtensionsKt$invoke$3.invoke(ActionExtensions.kt:52) ~[Beacon.jar:?]
at net.mm2d.upnp.internal.impl.ActionImpl$invokeCustom$1$1.invoke(ActionImpl.kt:86) ~[Beacon.jar:?]
at net.mm2d.upnp.internal.impl.ActionImpl$invokeCustom$1$1.invoke(ActionImpl.kt:22) ~[Beacon.jar:?]
at net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run(ExecuteFunction.kt:19) ~[Beacon.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[19:21:23] [ preload] [ERROR]: Preloading failed - Aborting application startup
java.lang.IllegalStateException: Not on FX application thread; currentThread = preload
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:295) ~[Beacon.jar:?]
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:458) ~[Beacon.jar:?]
at javafx.stage.Stage.(Stage.java:254) ~[Beacon.jar:?]
at javafx.stage.Stage.(Stage.java:240) ~[Beacon.jar:?]
at javafx.scene.control.HeavyweightDialog$1.(HeavyweightDialog.java:52) ~[Beacon.jar:?]
at javafx.scene.control.HeavyweightDialog.(HeavyweightDialog.java:52) ~[Beacon.jar:?]
at javafx.scene.control.Dialog.(Dialog.java:268) ~[Beacon.jar:?]
at com.jfoenix.controls.JFXAlert.(JFXAlert.java:76) ~[Beacon.jar:?]
at com.jfoenix.controls.JFXAlert.(JFXAlert.java:73) ~[Beacon.jar:?]
at tv.dotstart.beacon.ui.util.AlertFunctionsKt.dialog(AlertFunctions.kt:44) ~[Beacon.jar:?]
at tv.dotstart.beacon.ui.util.AlertFunctionsKt.dialog$default(AlertFunctions.kt:43) ~[Beacon.jar:?]
at tv.dotstart.beacon.ui.util.AlertFunctionsKt.actionErrorDialog(AlertFunctions.kt:74) ~[Beacon.jar:?]
at tv.dotstart.beacon.ui.exposure.PortExposureProvider.refresh(PortExposureProvider.kt:92) ~[Beacon.jar:?]
at tv.dotstart.beacon.ui.exposure.PortExposureProvider$Preloader.load(PortExposureProvider.kt:151) ~[Beacon.jar:?]
at tv.dotstart.beacon.ui.preload.Preloader$preload$1.invoke(Preloader.kt:86) [Beacon.jar:?]
at tv.dotstart.beacon.ui.preload.Preloader$preload$1.invoke(Preloader.kt:66) [Beacon.jar:?]
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30) [Beacon.jar:?]

C:\Users\USERNAME\Downloads>
`

Connection issue and crash

After opening the 25565 port on Minecraft: Java Edition and playing with some friends, anyone can connect the first time, but when one of them leaves, they can't reconnect until Beacon is restarted. Beacon also freezes when clicking "Close Ports".

Reproduction Steps
Describe the steps to reproduce the behavior:

  1. Start the MC server and Beacon
  2. Open the 25565 port for Minecraft: Java Edition
  3. Have a friend (not from a local machine) connect and then disconnect. They will be unable to join a 2nd time.
    3.1. Trying to close the port will just cause Beacon to freeze after someone has already connected and disconnected

Expected Behavior
Beacon doesn't crash when clicking "Close Ports" and players should be able to reconnect normally.

Screenshots
N/A

Environment (please complete the following information):

  • OS: Windows 10 Pro
  • Application Version: 3.0.0-alpha.1 - 3.0.0-alpha.3

Additional Context
N/A

[FEATURE] Offline mode

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when trying to use it for CTFs.

Describe the solution you'd like
Use it without the internet.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Gateway Error

When I run the exe file, it starts up normally, then gets stuck on 'Waiting for Internet Gateway' and then shows a Gateway Error saying that my router doesn't support UPnP or that it is disabled. My router does have UPnP and it has always been on.
gateway error
What could I do to resolve this issue?
Thanks.

Command Line Interface

Enable the use of Beacon in environments without support for graphical interfaces (such as Raspberry Pis).

IllegalStateException: no valid network interface.

The application crashes when no network interfaces are available within the execution environment.

Reproduction Steps

  1. Disable all eligible network interfaces
  2. Start the application

Expected Behavior
A sensible error message should be displayed.

Environment:

  • OS: Windows 10
  • Application Version: 2.4.0

Additional Context

Message: IllegalStateException: no valid network interface.
  net.mm2d.upnp.internal.impl.ControlPointImpl.<init> in ControlPointImpl.kt::65
  net.mm2d.upnp.ControlPointFactory.create in ControlPointFactory.kt::59
  net.mm2d.upnp.ControlPointFactory.create$default in ControlPointFactory.kt::55
  tv.dotstart.beacon.forwarding.InternetGatewayDeviceLocator$locate$1.subscribe in InternetGatewayDeviceLocator.kt::56
  io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual in ObservableCreate.java::40
  io.reactivex.Observable.subscribe in Observable.java::12267
  io.reactivex.Observable.blockingFirst in Observable.java::5119
  tv.dotstart.beacon.forwarding.PortExposureProvider.load in PortExposureProvider.kt::58
  tv.dotstart.beacon.preload.Preloader$invoke$1.invoke in Preloader.kt::88
  tv.dotstart.beacon.preload.Preloader$invoke$1.invoke in Preloader.kt::35
  kotlin.concurrent.ThreadsKt$thread$thread$1.run in Thread.kt::30

Terraria, Subnautica (Nitrox), etc. not showing up, "Save" option is grayed out when using "Add Service"

Some things aren't showing up in Alpha 2 that show in Alpha 1 and adding custom ports doesn't work, though I recall it did work right before updating to Alpha 1 and then updating to Alpha 2 and reverting back to Alpha 1.

Reproduction Steps
Describe the steps to reproduce the behavior:

  1. Use v3.0.0 Alpha 2.
  2. Look at the list of games, some are missing that were added in Alpha 1.
  3. Go into "Add Service".
  4. Enter in a TCP or UDP port.

Expected Behavior
Games tab won't show Terraria, Subnautica (Nitrox), etc.

"Save" should not be greyed out when trying to add custom services/ports.

Reverting back to 3.0.0 Alpha 1 fixes the games not showing problem, though the "Save" issue is still there.

Environment (please complete the following information):

  • OS: Windows 10 Pro
  • Application Version: v3.0.0 Alpha 2

Custom Port Support

Trying to play Subnautica (Nitrox mod with a friend, allows multiplayer) that runs on the port 11000 and can't because this feature was removed from Beacon and the old version of the program no longer runs.

Terraria should also be added as a preset as it runs under 7777, although, for people wanting to run multiple servers on a machine (I.E. a resource world in Terraria on a different port like 7778) is no longer possible without such an important feature. I don't understand why it was removed. Please add it back!

Crash on startup

Bacon crashes on startup.

Reproduction Steps
Describe the steps to reproduce the behavior:

  1. Click on 'Bacon.exe'

Expected Behavior
Bacon should start

Screenshots
image

Environment (please complete the following information):

  • OS: Windows
  • Application Version: 2.4.0

Additional Context
Error message:
java.lang.NullPointerException: Cannot invoke "javafx.scene.Node.getLayoutBounds()" because "this.textNode" is null
at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos(JFXTextFieldSkin.java:109) ~[Beacon.exe:?]
at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren(JFXTextFieldSkin.java:93) ~[Beacon.exe:?]
at javafx.scene.control.Control.layoutChildren(Control.java:601) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1204) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1211) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1211) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1211) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1211) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1211) ~[Beacon.exe:?]
at javafx.scene.Parent.layout(Parent.java:1211) ~[Beacon.exe:?]
at javafx.scene.Scene.doLayoutPass(Scene.java:576) ~[Beacon.exe:?]
at javafx.scene.Scene.preferredSize(Scene.java:1748) ~[Beacon.exe:?]
at javafx.scene.Scene$2.preferredSize(Scene.java:393) ~[Beacon.exe:?]
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) ~[Beacon.exe:?]
at javafx.stage.Window$12.invalidated(Window.java:1086) ~[Beacon.exe:?]
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) ~[Beacon.exe:?]
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) ~[Beacon.exe:?]
at javafx.stage.Window.setShowing(Window.java:1174) ~[Beacon.exe:?]
at javafx.stage.Window.show(Window.java:1189) ~[Beacon.exe:?]
at javafx.stage.Stage.show(Stage.java:273) ~[Beacon.exe:?]
at tv.dotstart.beacon.controller.SplashController$initialize$2.invoke(SplashController.kt:81) ~[Beacon.exe:?]
at tv.dotstart.beacon.controller.SplashController$initialize$2.invoke(SplashController.kt:40) ~[Beacon.exe:?]
at tv.dotstart.beacon.preload.Preloader$invoke$1$5.run(Preloader.kt:117) ~[Beacon.exe:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[Beacon.exe:?]
at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[Beacon.exe:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) ~[Beacon.exe:?]
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[Beacon.exe:?]
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[Beacon.exe:?]
at java.lang.Thread.run(Thread.java:833) [?:?]

Uncaught exception on thread "WindowsNativeRunloopThread" (#21) java.lang.NoSuchMethodError: <init>

Insert a clear and concise description of the issue you are experiencing.

Reproduction Steps
java -jar Beacon.jar

Expected Behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows]
  • Application Version: Native Bytecode Version: 60.0

Additional Context
Uncaught exception on thread "WindowsNativeRunloopThread" (#21)
java.lang.NoSuchMethodError:
at com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native Method) ~[Beacon.jar:?]
at com.sun.glass.ui.Screen.initScreens(Screen.java:412) ~[Beacon.jar:?]
at com.sun.glass.ui.Application.lambda$run$1(Application.java:152) ~[Beacon.jar:?]
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[Beacon.jar:?]
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[Beacon.jar:?]
at java.lang.Thread.run(Thread.java:831) [?:?]

RuntimeException: java.util.concurrent.TimeoutException

Description
Application crashes during preload sequence.

To Reproduce

  1. Disconnect from the Network or otherwise remove all UPnP devices from the environment
  2. Launch the application

Expected Behavior
Display an error message regarding the lack of compatible devices within the network.

Environment

  • OS: Windows 10
  • Application Version: 2.4.0

Additional Context

Message: RuntimeException: java.util.concurrent.TimeoutException
io.reactivex.internal.util.ExceptionHelper.wrapOrThrow in ExceptionHelper.java::46
io.reactivex.internal.observers.BlockingBaseObserver.blockingGet in BlockingBaseObserver.java::80
io.reactivex.Observable.blockingFirst in Observable.java::5120
tv.dotstart.beacon.forwarding.PortExposureProvider.load in PortExposureProvider.kt::58
tv.dotstart.beacon.preload.Preloader$invoke$1.invoke in Preloader.kt::88
tv.dotstart.beacon.preload.Preloader$invoke$1.invoke in Preloader.kt::35
kotlin.concurrent.ThreadsKt$thread$thread$1.run in Thread.kt::30

CompletionException: java.io.IOException: can't read from InputStream

Application Crash when the router simply terminates the connection without a proper response.

Reproduction Steps
??? - Illegal router response

Expected Behavior
An error dialog should be displayed instead.

Environment:

  • OS: Windows 10
  • Application Version: 2.4.0

Additional Context

Message: CompletionException: java.io.IOException: can't read from InputStream
  java.util.concurrent.CompletableFuture.reportJoin in CompletableFuture.java::412
  java.util.concurrent.CompletableFuture.join in CompletableFuture.java::2044
   
  tv.dotstart.beacon.forwarding.ActionExtensionsKt.invoke in ActionExtensions.kt::48
  tv.dotstart.beacon.forwarding.ActionExtensionsKt.invoke$default in ActionExtensions.kt::33
  tv.dotstart.beacon.forwarding.InternetGatewayDevice.getExternalAddress in InternetGatewayDevice.kt::62
  tv.dotstart.beacon.forwarding.PortExposureProvider.load in PortExposureProvider.kt::66
  tv.dotstart.beacon.preload.Preloader$invoke$1.invoke in Preloader.kt::88
  tv.dotstart.beacon.preload.Preloader$invoke$1.invoke in Preloader.kt::35
  kotlin.concurrent.ThreadsKt$thread$thread$1.run in Thread.kt::30
Message: IOException: can't read from InputStream
  net.mm2d.upnp.internal.message.HttpMessageDelegate$Companion.readLine in HttpMessageDelegate.kt::302
  net.mm2d.upnp.internal.message.HttpMessageDelegate$Companion.access$readLine in HttpMessageDelegate.kt::269
  net.mm2d.upnp.internal.message.HttpMessageDelegate.readStartLine in HttpMessageDelegate.kt::216
  net.mm2d.upnp.internal.message.HttpMessageDelegate.readData in HttpMessageDelegate.kt::204
  net.mm2d.upnp.HttpResponse.readData in HttpResponse.kt::-1
  net.mm2d.upnp.HttpResponse$Companion.create in HttpResponse.kt::136
  net.mm2d.upnp.HttpClient.writeAndRead in HttpClient.kt::144
  net.mm2d.upnp.HttpClient.doRequest in HttpClient.kt::125
  net.mm2d.upnp.HttpClient.post in HttpClient.kt::104
  net.mm2d.upnp.HttpClient.post in HttpClient.kt::88
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::111
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::92
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl.invokeCustomSync in ActionImpl.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::63
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::22
  net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run in ExecuteFunction.kt::19
  java.util.concurrent.ThreadPoolExecutor.runWorker in ThreadPoolExecutor.java::1128
  java.util.concurrent.ThreadPoolExecutor$Worker.run in ThreadPoolExecutor.java::628
  java.lang.Thread.run in Thread.java::834

java.io.IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=720, UPnPError/errorDescription=InvalidDeviceUUID}

The application crashes due to an error response from the router.

Reproduction Steps
??? - Illegal router reply

Expected Behavior
An error message should appear.

Environment (please complete the following information):

  • OS: Windows 10
  • Application Version: 2.4.0

Additional Context

Message: CompletionException: java.io.IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=720, UPnPError/errorDescription=InvalidDeviceUUID}
  java.util.concurrent.CompletableFuture.reportJoin::-1
  java.util.concurrent.CompletableFuture.join::-1
   
  tv.dotstart.beacon.forwarding.ActionExtensionsKt.invoke in ActionExtensions.kt::48
  tv.dotstart.beacon.forwarding.PortMapping.refresh in PortMapping.kt::67
  tv.dotstart.beacon.forwarding.InternetGatewayDevice.forwardPort in InternetGatewayDevice.kt::81
  tv.dotstart.beacon.forwarding.PortExposureProvider.expose in PortExposureProvider.kt::86
  tv.dotstart.beacon.controller.MainController.onServiceOpen in MainController.kt::198
  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0::-2
  jdk.internal.reflect.NativeMethodAccessorImpl.invoke::-1
  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke::-1
  java.lang.reflect.Method.invoke::-1
  com.sun.javafx.reflect.Trampoline.invoke::-1
   
  jdk.internal.reflect.GeneratedMethodAccessor2.invoke::-1
  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke::-1
  java.lang.reflect.Method.invoke::-1
  com.sun.javafx.reflect.MethodUtil.invoke::-1
  com.sun.javafx.fxml.MethodHelper.invoke::-1
  javafx.fxml.FXMLLoader$MethodHandler.invoke::-1
  javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle::-1
  com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent::-1
  com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent::-1
  com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent::-1
  com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.EventUtil.fireEventImpl::-1
  com.sun.javafx.event.EventUtil.fireEvent::-1
  javafx.event.Event.fireEvent::-1
  javafx.scene.Node.fireEvent::-1
  javafx.scene.control.Button.fire::-1
  com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased::-1
  com.sun.javafx.scene.control.inputmap.InputMap.handle::-1
  com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent::-1
  com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent::-1
  com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent::-1
  com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent::-1
  com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.BasicEventDispatcher.dispatchEvent::-1
  com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent::-1
  com.sun.javafx.event.EventUtil.fireEventImpl::-1
  com.sun.javafx.event.EventUtil.fireEvent::-1
  javafx.event.Event.fireEvent::-1
  javafx.scene.Scene$MouseHandler.process::-1
  javafx.scene.Scene$MouseHandler.access$1300::-1
  javafx.scene.Scene.processMouseEvent::-1
  javafx.scene.Scene$ScenePeerListener.mouseEvent::-1
  com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run::-1
  com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run::-1
  java.security.AccessController.doPrivileged::-2
  com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2::-1
  com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock::-1
  com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent::-1
   
  com.sun.glass.ui.View.handleMouseEvent::-1
  com.sun.glass.ui.View.notifyMouse::-1
  com.sun.glass.ui.win.WinApplication._runLoop::-2
  com.sun.glass.ui.win.WinApplication.lambda$runLoop$3::-1
  java.lang.Thread.run::-1
Message: IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=720, UPnPError/errorDescription=InvalidDeviceUUID}
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::95
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl.invokeCustomSync in ActionImpl.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::63
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::22
  net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run in ExecuteFunction.kt::19
  java.util.concurrent.ThreadPoolExecutor.runWorker::-1
  java.util.concurrent.ThreadPoolExecutor$Worker.run::-1
  java.lang.Thread.run::-1

ActionFailedException: Device failed to perform action: PAL_UPNP_SOAP_E_ACTION_FAILED

The application crashes due to an invalid router response.

Reproduction Steps
??? - Illegal response from router

Expected Behavior
An error message should appear

Environment (please complete the following information):

  • OS: Raspbian (Kernel Version: 5.4.79-v7l+)
  • Application Version: 3.0.0-alpha.3

Additional Context

Message: ActionFailedException: Device failed to perform action: PAL_UPNP_SOAP_E_ACTION_FAILED
  tv.dotstart.beacon.core.upnp.ActionExtensionsKt$invoke$2.invoke in ActionExtensions.kt::70
  tv.dotstart.beacon.core.upnp.ActionExtensionsKt$invoke$2.invoke in ActionExtensions.kt::-1
  net.mm2d.upnp.internal.impl.ActionImpl$invokeCustom$1$1.invoke in ActionImpl.kt::86
  net.mm2d.upnp.internal.impl.ActionImpl$invokeCustom$1$1.invoke in ActionImpl.kt::22
  net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run in ExecuteFunction.kt::19
  java.util.concurrent.ThreadPoolExecutor.runWorker in ThreadPoolExecutor.java::1128
  java.util.concurrent.ThreadPoolExecutor$Worker.run in ThreadPoolExecutor.java::628
  java.lang.Thread.run in Thread.java::834

CompletionException: java.io.IOException: error response (UPnPError/errorcode=402)

Description
Application crashes during load sequence.

To Reproduce
Steps to reproduce the behavior:

  1. Launch the application
  2. Wait

Expected behavior
An error regarding an invalid UPnP response from the gateway device should be shown instead. This error generally implies that either port registration has been disallowed or invalid arguments were passed (this should never occur unless the route detection fails).

Environment (please complete the following information):

  • OS: Windows 10
  • Application Version: 2.4.0

Additional context

Message: CompletionException: java.io.IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=402, UPnPError/errorDescription=Invalid Args}
  java.util.concurrent.CompletableFuture.reportJoin in CompletableFuture.java::412
  java.util.concurrent.CompletableFuture.join in CompletableFuture.java::2108
  tv.dotstart.beacon.forwarding.ActionExtensionsKt.invoke in ActionExtensions.kt::48
  tv.dotstart.beacon.forwarding.PortMapping.refresh in PortMapping.kt::67
  tv.dotstart.beacon.forwarding.InternetGatewayDevice.forwardPort in InternetGatewayDevice.kt::81
  tv.dotstart.beacon.forwarding.PortExposureProvider.expose in PortExposureProvider.kt::86
  tv.dotstart.beacon.controller.MainController.onServiceOpen in MainController.kt::198
  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 in NativeMethodAccessorImpl.java::-2
  jdk.internal.reflect.NativeMethodAccessorImpl.invoke in NativeMethodAccessorImpl.java::64
  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke in DelegatingMethodAccessorImpl.java::43
  java.lang.reflect.Method.invoke in Method.java::564
  com.sun.javafx.reflect.Trampoline.invoke in MethodUtil.java::76

Message: IOException: error response: {faultcode=s:Client, faultstring=UPnPError, UPnPError/errorCode=402, UPnPError/errorDescription=Invalid Args}
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::95
  net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke in ActionInvokeDelegate.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl.invokeCustomSync in ActionImpl.kt::49
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::63
  net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke in ActionImpl.kt::22
  net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run in ExecuteFunction.kt::19
  java.util.concurrent.ThreadPoolExecutor.runWorker in ThreadPoolExecutor.java::1130
  java.util.concurrent.ThreadPoolExecutor$Worker.run in ThreadPoolExecutor.java::630
  java.lang.Thread.run in Thread.java::832

Help! Exception NoSuchMethodError

On Manjaro Linux, Java 8, when trying to run the jar.
Exception in thread "main" java.lang.NoSuchMethodError: java.lang.Class.getPackageName()Ljava/lang/String; at tv.dotstart.beacon.core.util.VersionMetadata.getId(VersionMetadata.kt:45) at tv.dotstart.beacon.core.util.VersionMetadata.<init>(VersionMetadata.kt:57) at tv.dotstart.beacon.ui.BeaconUiMetadata.<init>(BeaconUiMetadata.kt:26) at tv.dotstart.beacon.ui.BeaconUiMetadata.<clinit>(BeaconUiMetadata.kt:26) at tv.dotstart.beacon.ui.BeaconCli.<clinit>(Beacon.kt:134) at tv.dotstart.beacon.ui.BeaconKt.main(Beacon.kt:273)

Do I need some packages that I'm missing?

Metrics

Collect basic application metrics such as:

  • Java Version
  • OS
  • OS Version
  • System Architecture
  • Session Duration
  • Startup Count

Metrics should be collected anonymously without requiring any kind of identification.

InvocationTargetException (IOException: can't read from InputStream)

Insert a clear and concise description of the issue you are experiencing.

Reproduction Steps

  1. Open a port
  2. Terminate the network connection while the request is in flight

Expected Behavior
Report the error in a proper dialog for starters. Existing port registrations should remain in tact in order to retry a renew within the next cycle. The lease timeout should be raised to 3x or 4x the refresh period in order to facilitate support for intermediate connection problems.

Environment (please complete the following information):

  • OS: Windows 10
  • Application Version: 3.0

Additional Context

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1787) ~[Beacon.exe:?]
	at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670) ~[Beacon.exe:?]
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[Beacon.exe:?]
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) ~[Beacon.exe:?]
	at javafx.event.Event.fireEvent(Event.java:198) ~[Beacon.exe:?]
	at javafx.scene.Node.fireEvent(Node.java:8879) ~[Beacon.exe:?]
	at javafx.scene.control.Button.fire(Button.java:200) ~[Beacon.exe:?]
	at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:206) ~[Beacon.exe:?]
	at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274) ~[Beacon.exe:?]
	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) ~[Beacon.exe:?]
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[Beacon.exe:?]
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[Beacon.exe:?]
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) ~[Beacon.exe:?]
	at javafx.event.Event.fireEvent(Event.java:198) ~[Beacon.exe:?]
	at javafx.scene.Scene$MouseHandler.process(Scene.java:3851) ~[Beacon.exe:?]
	at javafx.scene.Scene$MouseHandler.access$1200(Scene.java:3579) ~[Beacon.exe:?]
	at javafx.scene.Scene.processMouseEvent(Scene.java:1849) ~[Beacon.exe:?]
	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2588) ~[Beacon.exe:?]
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:397) ~[Beacon.exe:?]
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295) ~[Beacon.exe:?]
	at java.security.AccessController.doPrivileged(AccessController.java:391) ~[?:?]
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:434) ~[Beacon.exe:?]
	at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:390) ~[Beacon.exe:?]
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:433) ~[Beacon.exe:?]
	at com.sun.glass.ui.View.handleMouseEvent(View.java:556) ~[Beacon.exe:?]
	at com.sun.glass.ui.View.notifyMouse(View.java:942) ~[Beacon.exe:?]
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[Beacon.exe:?]
	at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[Beacon.exe:?]
	at java.lang.Thread.run(Thread.java:832) [?:?]
Caused by: java.lang.reflect.InvocationTargetException
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
	at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76) ~[Beacon.exe:?]
	at jdk.internal.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
	at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273) ~[Beacon.exe:?]
	at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83) ~[Beacon.exe:?]
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1784) ~[Beacon.exe:?]
	... 55 more
Caused by: java.io.IOException: can't read from InputStream
	at net.mm2d.upnp.internal.message.HttpMessageDelegate$Companion.readLine(HttpMessageDelegate.kt:302) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.message.HttpMessageDelegate$Companion.access$readLine(HttpMessageDelegate.kt:269) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.message.HttpMessageDelegate.readStartLine(HttpMessageDelegate.kt:216) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.message.HttpMessageDelegate.readData(HttpMessageDelegate.kt:204) ~[Beacon.exe:?]
	at net.mm2d.upnp.HttpResponse.readData(HttpResponse.kt) ~[Beacon.exe:?]
	at net.mm2d.upnp.HttpResponse$Companion.create(HttpResponse.kt:136) ~[Beacon.exe:?]
	at net.mm2d.upnp.HttpClient.writeAndRead(HttpClient.kt:144) ~[Beacon.exe:?]
	at net.mm2d.upnp.HttpClient.doRequest(HttpClient.kt:125) ~[Beacon.exe:?]
	at net.mm2d.upnp.HttpClient.post(HttpClient.kt:104) ~[Beacon.exe:?]
	at net.mm2d.upnp.HttpClient.post(HttpClient.kt:88) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke(ActionInvokeDelegate.kt:111) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke(ActionInvokeDelegate.kt:92) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.impl.ActionInvokeDelegate.invoke(ActionInvokeDelegate.kt:49) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.impl.ActionImpl.invokeCustomSync(ActionImpl.kt:49) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke(ActionImpl.kt:63) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.impl.ActionImpl$invokeInner$1.invoke(ActionImpl.kt:22) ~[Beacon.exe:?]
	at net.mm2d.upnp.internal.thread.ExecuteFunctionKt$toRunnable$1.run(ExecuteFunction.kt:19) ~[Beacon.exe:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
	... 1 more

2.1.2 Crashes Upon Attemtping to Start the Port Mapper

Whenever I attempt to run Beacon 2.1.2, the program loads up until "Starting Port Mapper" in which the program stops and gives me the following error report:

Beacon Error Report

Version: 2.1.2
Date: 2019-07-30T23:50:26.531895-05:00
Java Version: 12.0.2
Java Architecture: amd64
Operating System: Windows 10 (10.0)

Stack Trace:

java.lang.NullPointerException
at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos(JFXTextFieldSkin.java:109)
at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren(JFXTextFieldSkin.java:93)
at javafx.scene.control.Control.layoutChildren(Control.java:601)
at javafx.scene.Parent.layout(Parent.java:1204)
at javafx.scene.Parent.layout(Parent.java:1211)
at javafx.scene.Parent.layout(Parent.java:1211)
at javafx.scene.Parent.layout(Parent.java:1211)
at javafx.scene.Parent.layout(Parent.java:1211)
at javafx.scene.Parent.layout(Parent.java:1211)
at javafx.scene.Scene.doLayoutPass(Scene.java:576)
at javafx.scene.Scene.preferredSize(Scene.java:1748)
at javafx.scene.Scene$2.preferredSize(Scene.java:393)
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
at javafx.stage.Window$12.invalidated(Window.java:1086)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
at javafx.stage.Window.setShowing(Window.java:1174)
at javafx.stage.Window.show(Window.java:1189)
at javafx.stage.Stage.show(Stage.java:273)
at tv.dotstart.beacon.controller.SplashController$initialize$2.invoke(SplashController.kt:78)
at tv.dotstart.beacon.controller.SplashController$initialize$2.invoke(SplashController.kt:40)
at tv.dotstart.beacon.preload.Preloader$invoke$1$5.run(Preloader.kt:120)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:835)

Linux?

The title should be self-explanatory. How do I use this on Linux?
EDIT: i was looking on the website, not the releases tab. didnt realize there was a jar

Update Channel Selection

Enable the selection of update channels outside of the current version's respective channel.

Note: The implementation should re-select the current version's channel when the version is migrated as a user may choose to switch back to a stable release (or switch to an alpha channel). In this case, the user would most likely expect to stay on the desired branch until they explicitly upgrade.

Main window fails to open on Mac

OSX Beacon halts at 'Hiding tray icon' stage, right before window open.

Reproduction Steps
Describe the steps to reproduce the behavior:

  1. Install the JDK
  2. Download Beacon v3.0.0 Alpha 2
  3. Execute it from terminal via 'java -jar Beacon.jar'
  4. Wait and let it execute to the splash
  5. The load bar should finish and the console should reach minimizing tray icon but the main window should never open and the splash stays

Expected Behavior
'Switched to main window' and window opens

Log files
https://pastebin.com/NHY8eyNM

Environment (please complete the following information):

  • OS: MacOS
  • Application Version: 3.0.0-alpha.2

Additional Context
Error has occurred on two separate machines.

UnsupportedOperationException: TrayIconProvider

The application crashes during startup.

Expected Behavior
The application should disable the tray icon functionality for this session.

Environment (please complete the following information):

  • OS: Ubuntu (Linux 5.8.0-50-generic)
  • Application Version: 3.0.0-alpha.3

Additional Context

Message: InstanceCreationException: Could not create instance for [Single:'tv.dotstart.beacon.ui.tray.TrayIconProvider']
  org.koin.core.instance.InstanceFactory.create in InstanceFactory.kt::62
  org.koin.core.instance.SingleInstanceFactory.create in SingleInstanceFactory.kt::39
  org.koin.core.instance.SingleInstanceFactory.get in SingleInstanceFactory.kt::47
  org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core in InstanceRegistry.kt::103
  org.koin.core.scope.Scope.resolveInstance in Scope.kt::236
  org.koin.core.scope.Scope.get in Scope.kt::204
  tv.dotstart.beacon.ui.controller.SplashController$$special$$inlined$inject$3.invoke in KoinComponent.kt::79
  kotlin.SynchronizedLazyImpl.getValue in LazyJVM.kt::74
  tv.dotstart.beacon.ui.controller.SplashController.getTrayIconProvider in SplashController.kt::-1
  tv.dotstart.beacon.ui.controller.SplashController.access$getTrayIconProvider$p in SplashController.kt::47
  tv.dotstart.beacon.ui.controller.SplashController$initialize$2.invoke in SplashController.kt::93
  tv.dotstart.beacon.ui.controller.SplashController$initialize$2.invoke in SplashController.kt::47
  tv.dotstart.beacon.ui.preload.Preloader$preload$1$5.run in Preloader.kt::118
  com.sun.javafx.application.PlatformImpl.lambda$runLater$10 in PlatformImpl.java::428
  java.security.AccessController.doPrivileged in AccessController.java::-2
  com.sun.javafx.application.PlatformImpl.lambda$runLater$11 in PlatformImpl.java::427
   
  com.sun.glass.ui.InvokeLaterDispatcher$Future.run in InvokeLaterDispatcher.java::96
  com.sun.glass.ui.gtk.GtkApplication._runLoop in GtkApplication.java::-2
  com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11 in GtkApplication.java::277
  java.lang.Thread.run in Thread.java::834

Caused by UnsupportedOperationException:
  java.awt.TrayIcon.<init> in TrayIcon.java::145
  java.awt.TrayIcon.<init> in TrayIcon.java::169
  java.awt.TrayIcon.<init> in TrayIcon.java::198
   
  tv.dotstart.beacon.ui.tray.TrayIconProvider.<init> in TrayIconProvider.kt::61
  tv.dotstart.beacon.ui.tray.TrayModuleKt$trayModule$1$1.invoke in TrayModule.kt::36
  tv.dotstart.beacon.ui.tray.TrayModuleKt$trayModule$1$1.invoke in TrayModule.kt::-1
  org.koin.core.instance.InstanceFactory.create in InstanceFactory.kt::53
  org.koin.core.instance.SingleInstanceFactory.create in SingleInstanceFactory.kt::39
  org.koin.core.instance.SingleInstanceFactory.get in SingleInstanceFactory.kt::47
  org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core in InstanceRegistry.kt::103
  org.koin.core.scope.Scope.resolveInstance in Scope.kt::236
  org.koin.core.scope.Scope.get in Scope.kt::204
  tv.dotstart.beacon.ui.controller.SplashController$$special$$inlined$inject$3.invoke in KoinComponent.kt::79
  kotlin.SynchronizedLazyImpl.getValue in LazyJVM.kt::74
  tv.dotstart.beacon.ui.controller.SplashController.getTrayIconProvider in SplashController.kt::-1
  tv.dotstart.beacon.ui.controller.SplashController.access$getTrayIconProvider$p in SplashController.kt::47
  tv.dotstart.beacon.ui.controller.SplashController$initialize$2.invoke in SplashController.kt::93
  tv.dotstart.beacon.ui.controller.SplashController$initialize$2.invoke in SplashController.kt::47
  tv.dotstart.beacon.ui.preload.Preloader$preload$1$5.run in Preloader.kt::118
  com.sun.javafx.application.PlatformImpl.lambda$runLater$10 in PlatformImpl.java::428
  java.security.AccessController.doPrivileged in AccessController.java::-2
  com.sun.javafx.application.PlatformImpl.lambda$runLater$11 in PlatformImpl.java::427
   
  com.sun.glass.ui.InvokeLaterDispatcher$Future.run in InvokeLaterDispatcher.java::96
  com.sun.glass.ui.gtk.GtkApplication._runLoop in GtkApplication.java::-2
  com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11 in GtkApplication.java::277
  java.lang.Thread.run in Thread.java::834

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.