-
-
Notifications
You must be signed in to change notification settings - Fork 175
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
Starting multiple sessions for the same host in parallel leads to crash #599
Comments
My best guess is that |
Obvious work-around: Wait a bit before running another session. |
Is it an error we can catch and retry? |
jamestaylr
pushed a commit
to jamestaylr/EternalTerminal
that referenced
this issue
Jan 23, 2025
- Fixes MisterTea#599 - Starting multiple sessions simultaneously fails with: ``` 2024-11-14 08:20:32,278 FATAL [default] Stack Trace: [0] 0x0000000104486cab et::LogHandler::createLogFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) [1] 0x000000010448666d et::LogHandler::setupLogFiles(el::Configurations*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) [2] 0x00000001043ce52b main [3] 0x0000000204776345 start Error: (2): No such file or directory 2024-11-14 08:20:32,278 WARNING [default] Aborting application. Reason: Fatal log at [/tmp/nix-build-eternal-terminal-6.2.8.drv-0/source/src/base/LogHandler.cpp:97] ``` `LogHandler::createLogFile` expects to be the sole owner of the log file and thus [creates the file with `O_EXCL`](https://github.com/MisterTea/EternalTerminal/blob/204612857d233496e7a9c146fd540b7a45599ec7/src/base/LogHandler.cpp#L97). Adding `%f` (microseconds) to `strftime` reduces the probablity of conflict. We don't want to relax the `O_EXCL` constraint (unique log per instance). Alternative approaches not taken, but could be followed instead: - Always force `appendPid` - Append a non-time-based nonce to the path name
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Abstract
et
sometimes crashes when starting multiple sessions between the same two machines at approximately the same time.Client
Server
Logs/Stacktrace
Logfiles
etclientLogs.tar.gz
etserverLogs.tar.gz
The text was updated successfully, but these errors were encountered: