sparrow
sparrow copied to clipboard
OSX (M1), resource usage and responsiveness report, CPU RAM GPU
It's been using 300% CPU when syncing from a server. then 52% CPU and 35% GPU while doing nothing afterward.
Clicking different part of the UI takes about 60 seconds to respond.
https://www.youtube.com/watch?v=MSEZNtCfmVQ
Video shows the connection button doing some intense blinking.
Please be aware that your video includes precise bitcoin amounts which could allow someone to identify your utxo(s).
A large portion of your XPUB is also visible
Thanks @6102bitcoin, it's a test wallet.
The mac task manager has a way to print out a "Sample" of what's the CPU doing.
Would it be useful to send one here? It's very long.
It could be useful. If it's very long, maybe attach as a text file or use pastebin?
I'm trying to get access to an M1 Pro to see if I can reproduce.
https://pastebin.com/eigrcRTs
https://controlc.com/8d770d83
same type of sample 2min later
Thanks - I've had another report from an M1 Pro user where CPU usage drops to minimal levels after the sync. This differs from your report.
One suspicion is animation - although this area has recently been worked on, it's possible that animating the server toggle and tab icons may be the cause. Does this seem to correlate?
I'm not sure if it's this slow
The connection toggle isn't animating from what I can tell.
It's after that I clicked "disconnect that the toggle start flicking almost faster than the eye can see.
It's like it get in a mode where I clicked disconnect more than once but the UI was not responding, then the UI show connected color while sparrow is in disconected mode.
Here's another ""sample" when the wallet is disconnected and not doing anything. about 80 to 93% CPU.
https://pastebin.com/7H5aQegS
https://pastebin.com/x1D9FzZ1
Here is a sample of Sparrow 1.5.5 with no wallet opened, using 50% CPU and 23% GPU
The very high CPU and slow responding UI seems to occur when the wallet has been left open for more than a day.
After closing comptely and reopening the CPU usage for a sync is 115% with the following Sample.
https://pastebin.com/p7xenAK1
It's after that I clicked "disconnect that the toggle start flicking almost faster than the eye can see.
This seems suspicious. Can you try one further test:
- Close all wallets
- Click the server toggle in the lower right to go offline
- Restart Sparrow
- Observe CPU usage
This should avoid the possibility of any animation.
I'll keep monitoring but I can't seems to be able to reproduce.
Baseline usage is 15-25% with a single wallet of moderate usage.
It's been happening a few times again, 100% CPU, It look like if the wallet doesn't manage to sync fully it stop trying but CPU goes to the max, Also there was two Mixing UTXO animation, Stopping mixing does't stop because there are no connection.
Disconnecting with the toggle, make it shutter at very fast pace. (connected or disconnected)
Reconnecting and wallet end up syncing and works again with a 52% CPU usage.
Disconnected and reconnected the server connection, The blinking stopped but it's at that time that the CPU goes to 300% , becoming very slow responsive but blockstream connection manage to sync over a long time then wallet become more responsive.
My best guess here is the animation. I am thinking of adding a config file setting which would allow disabling the animation in the server toggle and the wallet icon.
Ideally, running a profiler like JProfiler or Yourkit on this system is the answer though - without that it's very difficult to know what the problem is, unfortunately.
After a fresh start I left sparrow to handle a new premix
6h later it mostly stopped processing, did one premix in last 4h.
CPU is about 115% - 266%, the UI refreshes about every 3-5min.
If I disconnect the server UI become responsive again with CPU at a stable 50%.
2022-02-22 10:37:10,127 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1687] o.s.w.s.s.c.SockJsClient [null:-1] Initial SockJS "Info" request to server failed, url=wss://pool.whirl.mx:8080/ws/connect org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to execute request to https://pool.whirl.mx:8080/ws/connect/info; nested exception is java.lang.InterruptedException at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeInfoRequestInternal(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractXhrTransport.executeInfoRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.getServerInfo(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient.connect(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession$3.onTransportDisconnected(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient$1.handleTransportError(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.handleFailure(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.afterTransportClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.WebSocketTransport$ClientSockJsWebSocketHandler.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketClose(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.callApplicationOnClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.disconnect(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.ssl.SslConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.SelectorManager.connectionClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.InterruptedException: null at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source) at java.base/java.util.concurrent.CountDownLatch.await(Unknown Source) at [email protected]/org.eclipse.jetty.client.util.FutureResponseListener.get(Unknown Source) at [email protected]/org.eclipse.jetty.client.HttpRequest.send(Unknown Source) ... 39 common frames omitted 2022-02-22 11:21:37,966 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1776] c.s.w.c.m.d.MixSession[1645545035405] [null:-1] ! connexion lost, reconnecting for a new mix... 2022-02-22 11:21:38,074 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1825] c.s.w.c.m.d.MixSession[1645545065423] [null:-1] ! connexion lost, reconnecting for a new mix... 2022-02-22 11:22:08,200 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1825] o.s.w.s.s.c.SockJsClient [null:-1] Initial SockJS "Info" request to server failed, url=wss://pool.whirl.mx:8080/ws/connect org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to execute request to https://pool.whirl.mx:8080/ws/connect/info; nested exception is java.lang.InterruptedException at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeInfoRequestInternal(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractXhrTransport.executeInfoRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.getServerInfo(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient.connect(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession$3.onTransportDisconnected(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient$1.handleTransportError(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.handleFailure(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.afterTransportClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.WebSocketTransport$ClientSockJsWebSocketHandler.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketClose(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.callApplicationOnClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.disconnect(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.ssl.SslConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.SelectorManager.connectionClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.InterruptedException: null at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source) at java.base/java.util.concurrent.CountDownLatch.await(Unknown Source) at [email protected]/org.eclipse.jetty.client.util.FutureResponseListener.get(Unknown Source) at [email protected]/org.eclipse.jetty.client.HttpRequest.send(Unknown Source) ... 40 common frames omitted 2022-02-22 11:22:08,200 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1776] o.s.w.s.s.c.SockJsClient [null:-1] Initial SockJS "Info" request to server failed, url=wss://pool.whirl.mx:8080/ws/connect org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to execute request to https://pool.whirl.mx:8080/ws/connect/info; nested exception is java.lang.InterruptedException at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeInfoRequestInternal(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractXhrTransport.executeInfoRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.getServerInfo(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient.connect(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession$3.onTransportDisconnected(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient$1.handleTransportError(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.handleFailure(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.afterTransportClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.WebSocketTransport$ClientSockJsWebSocketHandler.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketClose(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.callApplicationOnClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.disconnect(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.ssl.SslConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.SelectorManager.connectionClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.InterruptedException: null at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source) at java.base/java.util.concurrent.CountDownLatch.await(Unknown Source) at [email protected]/org.eclipse.jetty.client.util.FutureResponseListener.get(Unknown Source) at [email protected]/org.eclipse.jetty.client.HttpRequest.send(Unknown Source) ... 40 common frames omitted 2022-02-22 11:34:31,364 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1858] c.s.w.c.m.d.MixSession[1645546931508] [null:-1] ! connexion lost, reconnecting for a new mix... 2022-02-22 11:35:01,456 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1858] o.s.w.s.s.c.SockJsClient [null:-1] Initial SockJS "Info" request to server failed, url=wss://pool.whirl.mx:8080/ws/connect org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to execute request to https://pool.whirl.mx:8080/ws/connect/info; nested exception is java.lang.InterruptedException at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.JettyXhrTransport.executeInfoRequestInternal(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractXhrTransport.executeInfoRequest(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.getServerInfo(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient.connect(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient.connect(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession.connect(Unknown Source) at [email protected]/com.samourai.whirlpool.client.mix.dialog.MixSession$3.onTransportDisconnected(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.samourai.stomp.client.StompTransport$1.onError(Unknown Source) at [email protected]/com.sparrowwallet.nightjar.stomp.JavaStompClient$1.handleTransportError(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.handleFailure(Unknown Source) at [email protected]/org.springframework.messaging.simp.stomp.DefaultStompSession.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.messaging.WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.afterTransportClosed(Unknown Source) at [email protected]/org.springframework.web.socket.sockjs.client.WebSocketTransport$ClientSockJsWebSocketHandler.afterConnectionClosed(Unknown Source) at [email protected]/org.springframework.web.socket.adapter.jetty.JettyWebSocketHandlerAdapter.onWebSocketClose(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.callApplicationOnClose(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.disconnect(Unknown Source) at [email protected]/org.eclipse.jetty.websocket.common.WebSocketSession.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.AbstractConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.ssl.SslConnection.onClose(Unknown Source) at [email protected]/org.eclipse.jetty.io.SelectorManager.connectionClosed(Unknown Source) at [email protected]/org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source) at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.InterruptedException: null at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source) at java.base/java.util.concurrent.CountDownLatch.await(Unknown Source) at [email protected]/org.eclipse.jetty.client.util.FutureResponseListener.get(Unknown Source) at [email protected]/org.eclipse.jetty.client.HttpRequest.send(Unknown Source) ... 40 common frames omitted 2022-02-22 11:36:26,629 ERROR [Whirlpool-HttpClient-COORDINATOR_WEBSOCKET-1964] c.s.w.c.m.d.MixSession[1645547703502] [null:-1] ! connexion lost, reconnecting for a new mix...
I connected again and the syncing was happening and UI responsive but UI slowed down around /0/740 next UI update showed /0/1138
Sparrow is using 4.5GB RAM Then saw it drop to 3.78GB then quickly up to 5.52, 5.90 GB, 3.24... 3.81... You were saying somewhere not to trust the memory number, But where I take them I've never seen any other process using much more than 1GB.
Connection get lost, starting over again, then hang, ect
Process Sample... https://pastebin.com/2nxzTe3V
Its safe to assume almost ANY performance related issue on m1's is rosetta related. It's a tad annoying that anyone who doesn't tend to use an m1 day to day, buys into the marketing BS and assumes rosetta is fine. The performance of almost anything using rosetta is horrible - and leads to weird overall system performance issues.
I wouldn't assume performance issues are all Rosetta related. I've recently moved from a 2017 MacBook Pro to an M1 MacBook Air and performance is fine. I'm using Rosetta.
Biggest performance issues I've found have been dependent on which server you're using as a back end. The application is pretty lightweight.
as someone who has used m1's since release (and the development kit) seeing this
and performance is fine.
makes me as frustrated as when someone who is new to bitcoin says 'why shouldn't we have bigger blocks'
Nobody who cares about performance likes Rosetta.
Thank you @acantril for your meaningless big block comparison.
I care about performance, therefore I don't use public Electrs servers with Sparrow.
it's not meaningless .. you can't legitimately say that performance is fine with rosetta and understand how rosetta works. I don't use a public electrs server either, so your statement isn't really relevant. Anyway, having this discussion with you is a waste of time .
@acantril I guess you haven't read the issues where almost the same thing happens under Windows.
Connections become harder or near impossible UI become less responsive Ram usage is very high Process need to be force killed.
More likely that the M1 is just faster at reaching these state.
I think it's fair to say that both may be correct. Rosetta may well be an issue, but certainly @Transisto's insistence on loading very deep wallets on overloaded public servers is very much a cause for slow performance.
https://github.com/sparrowwallet/sparrow/issues/391 Closed, most likely related.
I think it's fair to say that both may be correct. Rosetta may well be an issue, but certainly @Transisto's insistence on loading very deep wallets on overloaded public servers is very much a cause for slow performance.
It's about 1600 deep but I thought that the option to load last 100 address would have solved this.
I think @maxtannahill might be right, Seems dependent on the type of server it's connected to.
If possible, please test the beta M1 native release at https://github.com/sparrowwallet/sparrow/releases/tag/1.6.4-beta1

I'm not sure what to look for anymore, CPU is HIGH, and wallet is never connected when I look back at it. (slow blinking yellow)
Performance improvement for me. Sync times for deep wallets over halved from around 45 to 50 seconds to 20 seconds. Using ElectrumX on local network.
MacBook Air M1, 2020. 16GB RAM.
Performance improvement for me. Sync times for deep wallets over halved from around 45 to 50 seconds to 20 seconds. Using ElectrumX on local network.
MacBook Air M1, 2020. 16GB RAM.
Can you define how deep?
Performance improvement for me. Sync times for deep wallets over halved from around 45 to 50 seconds to 20 seconds. Using ElectrumX on local network. MacBook Air M1, 2020. 16GB RAM.
Can you define how deep?
6800 receive addresses, 500 change on post mix.
I'm not sure what to look for anymore, CPU is HIGH, and wallet is never connected when I look back at it. (slow blinking yellow)
Could you try testing with a functional private Electrum server to eliminate the server from the test?