haveno-dex / haveno

Decentralized P2P exchange platform built on Monero and Tor
https://haveno.exchange
GNU Affero General Public License v3.0
1.02k stars 114 forks source link

"Expected a finite double, but found Infinity" Error #1340

Open ChanoSan opened 2 weeks ago

ChanoSan commented 2 weeks ago

Haveno-Reto version: 1.0.11 OS: Ubuntu 20.04.6 LTS

Haveno-Reto was running normally for several hours, when suddenly the following error message appeared:

Expected a finite double, but found Infinity, followed by a request to report the issue and post logs.

I dug around in the logs and found the following:

Oct-20 08:47:11.423 [JavaFX Application Thread] ERROR h.c.s.CommonSetup: Uncaught Exception from thread JavaFX Application Thread 
Oct-20 08:47:11.423 [JavaFX Application Thread] ERROR h.c.s.CommonSetup: throwableMessage= Expected a finite double, but found Infinity 
Oct-20 08:47:11.423 [JavaFX Application Thread] ERROR h.c.s.CommonSetup: throwableClass= class java.lang.IllegalArgumentException 
Oct-20 08:47:11.543 [JavaFX Application Thread] ERROR h.c.s.CommonSetup: Stack trace:
java.lang.IllegalArgumentException: Expected a finite double, but found Infinity
    at haveno.common.util.MathUtils.roundDouble(MathUtils.java:44)
    at haveno.common.util.MathUtils.roundDouble(MathUtils.java:36)
    at haveno.core.util.FormattingUtils.formatRoundedDoubleWithPrecision(FormattingUtils.java:176)
    at haveno.desktop.main.market.offerbook.OfferBookChartView$1.toString(OfferBookChartView.java:219)
    at haveno.desktop.main.market.offerbook.OfferBookChartView$1.toString(OfferBookChartView.java:204)
    at javafx.controls/javafx.scene.chart.NumberAxis.measureTickMarkSize(Unknown Source)
    at javafx.controls/javafx.scene.chart.NumberAxis.autoRange(Unknown Source)
    at javafx.controls/javafx.scene.chart.ValueAxis.autoRange(Unknown Source)
    at javafx.controls/javafx.scene.chart.Axis.computePrefHeight(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.prefHeight(Unknown Source)
    at javafx.graphics/javafx.scene.layout.Region.prefHeight(Unknown Source)
    at javafx.controls/javafx.scene.chart.XYChart.layoutChartChildren(Unknown Source)
    at javafx.controls/javafx.scene.chart.Chart$1.layoutChildren(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Parent.layout(Unknown Source)
    at javafx.graphics/javafx.scene.Scene.doLayoutPass(Unknown Source)
    at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(Unknown Source)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)

Whatever the issue was, it did not cause Haveno to crash, and upon dismissing the error message it appears to still be running just fine. The log file is very hefty since Haveno was running for a while before this issue happened, but I'm appending it here.

haveno_startup.txt

woodser commented 2 weeks ago

It's not clear what caused the error, but it appears to be a non-critical and rare issue, so I've opened a PR to log the error without a popup to the user: https://github.com/haveno-dex/haveno/pull/1341