Skip to content

Problems w/ viewing JAM orderbook and running JAM as a maker & unresponsive default directory nodes. #959

@lawlygagger

Description

@lawlygagger

Describe the bug
(1) There seems to be some conflictions with the joinmarket OBwatcher and JAM earn feature.
On a fresh image install on 0-3-34 & 0-3-37 the orderbook under JAM seems to work fine. However, if you enter the terminal and run joinmarket this seems to break the JAM orderbook and it is no longer viewable. It seems (but i could be very wrong) that both orderbooks use the same port and there is an unbinding issue.
Possibly related - joinmarket-webui/jam-docker#118
possibly related - joinmarket-webui/jam-docker#161
Seems to be a pull request to fix this issue - joinmarket-webui/jam-docker#162

(2) There seems to be a permissions issue with JAM/Joinmarket accessing the TOR auth Cookie file making it impossible to become a maker because the order never gets broadcast. I did some digging around and came upon ( https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/tor.md#tortaker ) which seems to give instructions on how to fix this issue. I followed all the commands, but am confused about removal of port 9051... Also, I tried to run "sudo usermod -a -G debian-tor yourusername" where i used admin as the username but this still did not fix the issue.

is admin the correct username in this case? I have no idea, but it didnt work. Below is the log displaying the TOR cookie auth issue.

-------------LOG-----------------

User data location: /home/joinmarket/.joinmarket/
Enter passphrase to decrypt wallet:
2025-07-12 01:42:34,062 [WARNING] Connection had broken pipe, attempting reconnect.
2025-07-12 01:42:46,531 [INFO] BIP78 daemon listening on port 25183
2025-07-12 01:42:46,532 [INFO] Starting transaction monitor in walletservice
Attempting to start onion service on port: 80 ...
created the onion endpoint, now calling listen
Setup failed: [Failure instance: Traceback: <class 'RuntimeError'>: Failed to read COOKIEFILE '/run/tor/control.authcookie': [Errno 13] Permission denied: '/run/tor/control.authcookie'

/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:700:errback
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:763:_startRunCallbacks
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:857:_runCallbacks
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:1750:gotResult
--- ---
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:1656:_inlineCallbacks
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/python/failure.py:514:throwExceptionIntoGenerator
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/txtorcon/controller.py:462:connect
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/txtorcon/controller.py:456:connect
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:1656:_inlineCallbacks
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/python/failure.py:514:throwExceptionIntoGenerator
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/txtorcon/controller.py:427:try_endpoint
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:1656:_inlineCallbacks
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/python/failure.py:514:throwExceptionIntoGenerator
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/txtorcon/torconfig.py:584:from_protocol
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py:857:_runCallbacks
/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/txtorcon/torcontrolprotocol.py:849:_do_authenticate
]
Hidden service shutdown complete
done
Unhandled error in Deferred:

Traceback (most recent call last):
File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py", line 1750, in gotResult
current_context.run(_inlineCallbacks, r, gen, status)
File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py", line 1740, in _inlineCallbacks
status.deferred.errback()
File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py", line 700, in errback
self._startRunCallbacks(fail)
File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py", line 763, in _startRunCallbacks
self._runCallbacks()
--- ---
File "/home/joinmarket/joinmarket-clientserver/jmvenv/lib/python3.8/site-packages/twisted/internet/defer.py", line 857, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/home/joinmarket/joinmarket-clientserver/jmbase/jmbase/twisted_utils.py", line 232, in print_host
self.onion_hostname_callback(self.onion.hostname)
builtins.AttributeError: 'NoneType' object has no attribute 'hostname'

(3) - The directory nodes in the joinmarket.cfg are outdated and JAM will fail to find any takers unless you edit the joinmarket.cfg and add the working directory nodes from ( JoinMarket-Org/joinmarket-clientserver#1445 ). I currently use the directory nodes below and am able to use JAM to coinjoin, but still doesnt work as a maker.

jmarketxf5wc4aldf3slm5u6726zsky52bqnfv6qyxe5hnafgly6yuyd.onion:5222,coinjointovy3eq5fjygdwpkbcdx63d7vd4g32mw7y553uj3kjjzkiqd.onion:5222,satoshi2vcg5e2ept7tjkzlkpomkobqmgtsjzegg6wipnoajadissead.onion:5222,shssats5ucnwdpbticbb4dymjzf2o27tdecpes35ededagjpdmpxm6yd.onion:5222,3kxw6lf5vf6y26emzwgibzhrzhmhqiw6ekrek3nqfjjmhwznb2moonad.onion:5222,bqlpq6ak24mwvuixixitift4yu42nxchlilrcqwk2ugn45tdclg42qid.onion:5222,odpwaf67rs5226uabcamvypg3y4bngzmfk7255flcdodesqhsvkptaid.onion:5222,ylegp63psfqh3zk2huckf2xth6dxvh2z364ykjfmvsoze6tkfjceq7qd.onion:5222

Expected behavior

(1) Joinmarket/JAM orderbooks should work and be accessible via the JAM GUI. - I can still access the orderbook via joinmarket, but the bond doesnt show up, nor does the orderID as a maker.
(2) The Earn feature in JAM should broadcast correctly so that it shows up in the orderbook.
(3) Directory nodes should work without having to edit the joinmarket.cfg manually.
(4) Use the lastest versions of JAM & Joinmarket instead of the outdated versions currently

Screenshots
JAM shows as disconnected
Image
JAM orderbook Broken
Image
Earn Fails
Image

Desktop (please complete the following information):

  • Windows 10
  • Browser Firefox

MyNode hardware (please complete the following information):

  • Device: Mynode Model2
  • Version 0.3.37

Additional context
There are more updated releases for both JAM and Joinmarket via their githubs that could potentially solve the above issues.

I'm very new to linux/debian/docker etc so appologies if the above links are not related, but they seem the most relevant to the issues I'm experiencing.

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions