Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bisq v1.2.8 fails to start on macOS catalina #4052

Closed
wiz opened this issue Mar 12, 2020 · 9 comments · Fixed by #4056
Closed

Bisq v1.2.8 fails to start on macOS catalina #4052

wiz opened this issue Mar 12, 2020 · 9 comments · Fixed by #4056
Assignees
Labels
a:bug is:critical https://bisq.wiki/Critical_bug

Comments

@wiz
Copy link
Contributor

wiz commented Mar 12, 2020

% /Applications/Bisq.app/Contents/MacOS/Bisq --appDataDir=foo
Mar-12 18:50:26.563 [main] INFO  bisq.core.setup.CoreSetup: 


Log files under: foo/bisq 
Mar-12 18:50:26.577 [main] INFO  bisq.common.util.Utilities: System info: os.name=Mac OS X; os.version=10.15.3; os.arch=x86_64; sun.arch.data.model=64; JRE=10.0.1+10 (Oracle Corporation); JVM=10.0.1+10 (Java HotSpot(TM) 64-Bit Server VM) 
Mar-12 18:50:26.580 [main] INFO  b.c.s.CoreNetworkCapabilities: Set Capability.RECEIVE_BSQ_BLOCK 
Mar-12 18:50:26.669 [main] INFO  bisq.common.app.Version: Version{VERSION=1.2.8, P2P_NETWORK_VERSION=1, LOCAL_DB_VERSION=1, TRADE_PROTOCOL_VERSION=2, BASE_CURRENCY_NETWORK=0, getP2PNetworkId()=10} 
Mar-12 18:50:26.669 [main] INFO  bisq.core.setup.CoreSetup: Path to Bisq jar file: /Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar 
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Mar-12 18:50:27.994 [JavaFX Application Thread] WARN  b.c.p.ProvidersRepository: We have banned provider nodes: bannedNodes=[], selected provider baseUrl=http://62nvujg5iou3vu3i.onion/, providerList=[http://62nvujg5iou3vu3i.onion/, http://gztmprecgqjq64zh.onion/, http://ceaanhbvluug4we6.onion/, http://xc3nh4juf2hshy7e.onion/, http://44mgyoe2b6oqiytt.onion/] 
Mar-12 18:50:28.021 [JavaFX Application Thread] INFO  b.c.n.p.s.DefaultSeedNodeRepository: Seed nodes: [723ljisnynbtdohi.onion:8000, fl3mmribyxgrv63c.onion:8000, s67qglwhkgkyvr74.onion:8000, 3f3cu2yw7u457ztq.onion:8000, rm7b56wbrcczpjvl.onion:8000, jhgcy2won7xnslrb.onion:8000, 5quyxpxheyvzmb2d.onion:8000, ef5qnzx6znifo3df.onion:8000] 
Mar-12 18:50:28.060 [JavaFX Application Thread] INFO  b.c.s.CoreNetworkCapabilities: Set Capability.RECEIVE_BSQ_BLOCK 
Mar-12 18:50:28.175 [JavaFX Application Thread] INFO  org.bitcoinj.core.Context: Creating bitcoinj 0.14.7.bisq.1-SNAPSHOT context. 
Mar-12 18:50:33.200 [JavaFX Application Thread] INFO  b.c.btc.nodes.LocalBitcoinNode: Initiating attempt to connect to and handshake with a local Bitcoin node (which may or may not be running) on port 8333. 
Mar-12 18:50:38.210 [bitcoinj user thread] INFO  b.c.btc.nodes.LocalBitcoinNode: Handshake attempt did not result in a version message exchange. 
Mar-12 18:50:38.222 [JavaFX Application Thread] ERROR bisq.desktop.app.BisqApp: Error during app init bisq.desktop.common.ViewfxException: Failed to load view from FXML file at [jar:file:/Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar!/bisq/desktop/main/MainView.fxml]
	at bisq.desktop.common.fxml.FxmlViewLoader.loadFromFxml(FxmlViewLoader.java:110)
	at bisq.desktop.common.fxml.FxmlViewLoader.load(FxmlViewLoader.java:89)
	at bisq.desktop.common.view.CachingViewLoader.load(CachingViewLoader.java:41)
	at bisq.desktop.app.BisqApp.loadMainView(BisqApp.java:260)
	at bisq.desktop.app.BisqApp.startApplication(BisqApp.java:131)
	at bisq.desktop.app.BisqAppMain.startApplication(BisqAppMain.java:129)
	at bisq.core.app.BisqExecutable.onApplicationLaunched(BisqExecutable.java:124)
	at bisq.desktop.app.BisqAppMain.onApplicationLaunched(BisqAppMain.java:97)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
Caused by: javafx.fxml.LoadException: 
file:/Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar!/bisq/desktop/main/MainView.fxml:21

	at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
	at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435)
	at bisq.desktop.common.fxml.FxmlViewLoader.loadFromFxml(FxmlViewLoader.java:100)
	... 11 common frames omitted
Caused by: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NullPointerException
  at bisq.core.app.WalletAppSetup.<init>(WalletAppSetup.java:88)
  at bisq.core.app.WalletAppSetup.class(WalletAppSetup.java:57)
  while locating bisq.core.app.WalletAppSetup
    for the 2nd parameter of bisq.core.app.BisqSetup.<init>(BisqSetup.java:283)
  at bisq.core.app.BisqSetup.class(BisqSetup.java:125)
  while locating bisq.core.app.BisqSetup
    for the 1st parameter of bisq.desktop.main.MainViewModel.<init>(MainViewModel.java:166)
  while locating bisq.desktop.main.MainViewModel
    for the 1st parameter of bisq.desktop.main.MainView.<init>(MainView.java:166)
  while locating bisq.desktop.main.MainView

1 error
	at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1053)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1086)
	at bisq.desktop.common.view.guice.InjectorViewFactory.call(InjectorViewFactory.java:40)
	at bisq.desktop.common.view.guice.InjectorViewFactory.call(InjectorViewFactory.java:28)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:938)
	at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:980)
	at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:227)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:752)
	at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
	... 14 common frames omitted
Caused by: java.lang.NullPointerException: null
	at org.bitcoinj.net.NioClient.closeConnection(NioClient.java:119)
	at bisq.core.btc.nodes.LocalBitcoinNode.attemptHandshakeForVersionMessage(LocalBitcoinNode.java:254)
	at bisq.core.btc.nodes.LocalBitcoinNode.checkUsable(LocalBitcoinNode.java:146)
	at bisq.core.btc.nodes.LocalBitcoinNode.performChecks(LocalBitcoinNode.java:138)
	at bisq.core.btc.nodes.LocalBitcoinNode.isWellConfigured(LocalBitcoinNode.java:129)
	at bisq.core.btc.nodes.LocalBitcoinNode.isUsable(LocalBitcoinNode.java:98)
	at bisq.core.btc.nodes.LocalBitcoinNode.shouldBeUsed(LocalBitcoinNode.java:72)
	at bisq.core.user.Preferences.getUseTorForBitcoinJ(Preferences.java:745)
	at bisq.core.app.WalletAppSetup.<init>(WalletAppSetup.java:93)
	at bisq.core.app.WalletAppSetup$$FastClassByGuice$$c647c828.newInstance(<generated>)
	at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050)
	... 23 common frames omitted

bisq.desktop.common.ViewfxException: Failed to load view from FXML file at [jar:file:/Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar!/bisq/desktop/main/MainView.fxml]
	at bisq.desktop.common.fxml.FxmlViewLoader.loadFromFxml(FxmlViewLoader.java:110)
	at bisq.desktop.common.fxml.FxmlViewLoader.load(FxmlViewLoader.java:89)
	at bisq.desktop.common.view.CachingViewLoader.load(CachingViewLoader.java:41)
	at bisq.desktop.app.BisqApp.loadMainView(BisqApp.java:260)
	at bisq.desktop.app.BisqApp.startApplication(BisqApp.java:131)
	at bisq.desktop.app.BisqAppMain.startApplication(BisqAppMain.java:129)
	at bisq.core.app.BisqExecutable.onApplicationLaunched(BisqExecutable.java:124)
	at bisq.desktop.app.BisqAppMain.onApplicationLaunched(BisqAppMain.java:97)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
Caused by: javafx.fxml.LoadException: 
file:/Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar!/bisq/desktop/main/MainView.fxml:21

	at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
	at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435)
	at bisq.desktop.common.fxml.FxmlViewLoader.loadFromFxml(FxmlViewLoader.java:100)
	... 11 common frames omitted
Caused by: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NullPointerException
  at bisq.core.app.WalletAppSetup.<init>(WalletAppSetup.java:88)
  at bisq.core.app.WalletAppSetup.class(WalletAppSetup.java:57)
  while locating bisq.core.app.WalletAppSetup
    for the 2nd parameter of bisq.core.app.BisqSetup.<init>(BisqSetup.java:283)
  at bisq.core.app.BisqSetup.class(BisqSetup.java:125)
  while locating bisq.core.app.BisqSetup
    for the 1st parameter of bisq.desktop.main.MainViewModel.<init>(MainViewModel.java:166)
  while locating bisq.desktop.main.MainViewModel
    for the 1st parameter of bisq.desktop.main.MainView.<init>(MainView.java:166)
  while locating bisq.desktop.main.MainView

1 error
	at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1053)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1086)
	at bisq.desktop.common.view.guice.InjectorViewFactory.call(InjectorViewFactory.java:40)
	at bisq.desktop.common.view.guice.InjectorViewFactory.call(InjectorViewFactory.java:28)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:938)
	at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:980)
	at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:227)
	at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:752)
	at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
	at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
	... 14 common frames omitted
Caused by: java.lang.NullPointerException: null
	at org.bitcoinj.net.NioClient.closeConnection(NioClient.java:119)
	at bisq.core.btc.nodes.LocalBitcoinNode.attemptHandshakeForVersionMessage(LocalBitcoinNode.java:254)
	at bisq.core.btc.nodes.LocalBitcoinNode.checkUsable(LocalBitcoinNode.java:146)
	at bisq.core.btc.nodes.LocalBitcoinNode.performChecks(LocalBitcoinNode.java:138)
	at bisq.core.btc.nodes.LocalBitcoinNode.isWellConfigured(LocalBitcoinNode.java:129)
	at bisq.core.btc.nodes.LocalBitcoinNode.isUsable(LocalBitcoinNode.java:98)
	at bisq.core.btc.nodes.LocalBitcoinNode.shouldBeUsed(LocalBitcoinNode.java:72)
	at bisq.core.user.Preferences.getUseTorForBitcoinJ(Preferences.java:745)
	at bisq.core.app.WalletAppSetup.<init>(WalletAppSetup.java:93)
	at bisq.core.app.WalletAppSetup$$FastClassByGuice$$c647c828.newInstance(<generated>)
	at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
	at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050)
	... 23 common frames omitted
Mar-12 18:50:38.224 [JavaFX Application Thread] WARN  bisq.desktop.app.BisqApp: Scene not available yet, we create a new scene. The bug might be caused by an exception in a constructor or by a circular dependency in Guice. throwable=bisq.desktop.common.ViewfxException: Failed to load view from FXML file at [jar:file:/Applications/Bisq.app/Contents/Java/Bisq-1.2.8.jar!/bisq/desktop/main/MainView.fxml] 
2020-03-12 18:51:35.789 Bisq[29572:3408640] unrecognized type is 4294967295
2020-03-12 18:51:35.789 Bisq[29572:3408640] *** Assertion failure in -[NSEvent _initWithCGEvent:eventRef:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1894.30.142/AppKit.subproj/NSEvent.m:1959
^CMar-12 18:51:45.848 [JavaFX Application Thread] INFO  b.core.offer.OpenOfferManager: Remove open offers at shutDown. Number of open offers: 0 
@wiz wiz changed the title Bisq v1.2.8 fails to start Bisq v1.2.8 fails to start on macOS catalina Mar 12, 2020
@ripcurlx ripcurlx added a:bug is:critical https://bisq.wiki/Critical_bug labels Mar 12, 2020
@ripcurlx
Copy link
Contributor

ripcurlx commented Mar 12, 2020

@wiz Could you please comment out in LocalBitcoinNode.java following lines:

var originalNioClientLoggerLevel = silence(NioClient.class);
var originalNioClientManagerLoggerLevel = silence(NioClientManager.class);

and

restoreLoggerLevel(NioClient.class, originalNioClientLoggerLevel);
restoreLoggerLevel(NioClientManager.class, originalNioClientManagerLoggerLevel);

and post again the logs. This should give us more indications what is going wrong in the NioClient and NioClientManager class.

@wiz
Copy link
Contributor Author

wiz commented Mar 12, 2020

Also reproduced on Linux, and confirmed --ignoreLocalBtcNode=true is a valid workaround for this issue

@sqrrm
Copy link
Member

sqrrm commented Mar 12, 2020

Running on ubuntu 19.10, java 11, I'm not having any issues running from release branch.

ripcurlx added a commit to ripcurlx/bisq-desktop that referenced this issue Mar 12, 2020
Fixes bisq-network#4052, as the peer.close() already calls closeConnection if
a writeTarget is established successfully.
@ripcurlx
Copy link
Contributor

@dmos62 I think I've found the issue. If a writeTarget can't be established because of some weird setup it will cause a NullPointerException. Anyways it was a redundant call that was triggered by the peer.close() already.

ripcurlx added a commit to ripcurlx/bisq-desktop that referenced this issue Mar 12, 2020
Fixes bisq-network#4052, as the peer.close() already calls closeConnection if
a writeTarget is established successfully.
@wiz wiz changed the title Bisq v1.2.8 fails to start on macOS catalina Bisq v1.2.8 fails to start on macOS catalina and Linux about 25% of the time Mar 12, 2020
@wiz
Copy link
Contributor Author

wiz commented Mar 12, 2020

On linux, Bisq fails about 25% of the time to start, if I start 4 nodes 3 will start fine but 1 fails to start, and each time a different node fails

@ripcurlx
Copy link
Contributor

Just as a note: In those cases the nodes are stuck at following log and the app doesn't startup:

Mar-12 16:48:39.208 [JavaFX Application Thread] INFO  b.c.b.n.LocalBitcoinNode: Initiating attempt to connect to and handshake with a local Bitcoin node (which may or may not be running) on port 8333.

@dmos62
Copy link
Contributor

dmos62 commented Mar 12, 2020

On linux, Bisq fails about 25% of the time to start,

That's weird. I use Linux and didn't experience that. @wiz does it only happen when starting many Bisq instances at the same time? With local Bitcoin instance or without? If it's getting stuck at the log entry @ripcurlx posted above, that could be the handshake progressing too slowly, but in that case I'd expect it to timeout (CONNECTION_TIMEOUT in LocalBitcoinNode).

@dmos62
Copy link
Contributor

dmos62 commented Mar 12, 2020

@dmos62 I think I've found the issue. If a writeTarget can't be established because of some weird setup it will cause a NullPointerException. Anyways it was a redundant call that was triggered by the peer.close() already.

I wonder why writeTarget (or handler) in NioClient:119 sometimes is null.

@wiz it would be very useful if you could try reproducing the linux problems with the redundant client.closeConnection();. If you can reproduce that way, these could be the same underlying problem.

@wiz wiz changed the title Bisq v1.2.8 fails to start on macOS catalina and Linux about 25% of the time Bisq v1.2.8 fails to start on macOS catalina Mar 13, 2020
@wiz
Copy link
Contributor Author

wiz commented Mar 13, 2020

Since the Linux issue is a different log output, I'll create a separate issue for that, and this one for the macOS issue is resolved

@wiz wiz closed this as completed Mar 13, 2020
ripcurlx added a commit that referenced this issue Mar 14, 2020
Fixes #4052, as the peer.close() already calls closeConnection if
a writeTarget is established successfully.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:bug is:critical https://bisq.wiki/Critical_bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants