
Unable to -compose within Docker Container
I am running Thunderbird under RedHat. If I start Thunderbird using a specified profile (e.g., -P a1), it is displayed and fully functional using the settings for that profile. If I want to auto-compose a message, an application trigger will start another instance of Thunderbird with the same profile (a1) and the "-compose <compose args>" argument. This also works fine; I can select an addressee in the newly-generated message window, hit 'Send', and sent message appears on the original Thunderbird Sent folder.
I need to run these within Docker containers. Scripts have been developed to support this and populate the container as needed. Thunderbird runs and functions normally within the container; messages are sent/received normally. However, when I try to launch another instance using the "-compose <args>" argument within the container, I get "Thunderbird is already running or not responding". If I do NOT have the first Thunderbird instance running, the "-compose" instance works normally; I can address and send the email. However, this forces me to close the main window everytime I want to auto-compose a message.
It almost feels like the two Thunderbird instances are not communicating within the Docker container. Would appreciate any help/suggestions/debugging approach.
Thunderbird version: 115.7.0 (I have no control over the version in use)
All Replies (1)
I ran strace on the "-compose" version both outside the container (where it works) and inside the container (where it doesn't). I noticed two things of interest:
- 1. The outside version accessed the .Xauthority file (opened/read/closed) but the inside version wasn't able to access it since it was not inside the container.
- 2. The inside (non-working) version dropped into a cycling mode looking at a semaphore via futex(), getting a "connection timed out", sleeping and retrying until I kill it. This version seems to be looking under ~/.thunderbird/<profile> at the file .parentlock. The outside (working) version seems to use the directory /tmp/thunderbird/.parentlock for locking.