JoinMarket-Org/joinmarket-clientserver

Error after creating offer with invalid `minsize` argument

Opened this issue · 0 comments

While reproducing the error described in joinmarket-webui/jam#740, the following exception occurs and cannot be recovered from unless daemon is restarted:

Steps to reproduce:

  • Call to RPC method /wallet/{walletname}/maker/start with a minsize greater than any individual mixdepth balance.

    stdout:

    2024-04-21 05:11:17,248 [ERROR]  Failed to create offers.
    2024-04-21 05:11:17,248 [INFO]  Shutting down YieldGenerator service.
    
  • Start again with valid minsize

  • See following exception in the stderr output

    Unhandled error in Deferred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.11/site-packages/twisted/internet/defer.py", line 981, in _startRunCallbacks
        self._runCallbacks()
      File "/usr/local/lib/python3.11/site-packages/twisted/internet/defer.py", line 1075, in _runCallbacks
        current.result = callback(  # type: ignore[misc]
      File "/src/src/jmbase/twisted_utils.py", line 225, in onion_listen
        return onion_endpoint.listen(self.proto_factory)
      File "/usr/local/lib/python3.11/site-packages/twisted/internet/endpoints.py", line 513, in listen
        return defer.execute(
    --- <exception caught here> ---
      File "/usr/local/lib/python3.11/site-packages/twisted/internet/defer.py", line 148, in execute
        result = callable(*args, **kwargs)
      File "/usr/local/lib/python3.11/site-packages/twisted/internet/posixbase.py", line 364, in listenTCP
        p.startListening()
      File "/usr/local/lib/python3.11/site-packages/twisted/internet/tcp.py", line 1336, in startListening
        raise CannotListenError(self.interface, self.port, le)
    twisted.internet.error.CannotListenError: Couldn't listen on 127.0.0.1:8080: [Errno 98] Address already in use.
    
  • After a while (less than 10min as stated in the message), daemon shuts down:

     2024-04-21 05:17:15,859 [INFO]  Failed to start after 10 minutes, giving up.
    

Let me know if I can and should provide more details. Happy to assist in any way possible.