-
-
Notifications
You must be signed in to change notification settings - Fork 297
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
[maybe][bug]History Crash Without Daemon #1216
Comments
I wonder if this failure is related to the fix for issue #909. Regardless, this is yet another example why the Elvish daemon should be eliminated. The daemon increases project complexity and adds failure modes. I have no idea why BoltDB doesn't support concurrent access by different processes. I'd be willing to bet it is a consequence maximizing performance being a primary goal. Other shells, which includes One option would be to switch to text based history files. This is what other shells use for interactive commands. By creating a separate file for the location data elvish could use one of the algorithms used by those shells for its interactive history; both command and location. Another option is to switch to a pure Go database implementation such as SQLite. See issue #126. Having said all that, obviously this panic is unacceptable and should be fixed. P.S., See also issue #435 from 3.5 years ago that switched from SQLite3 to BoltDB to eliminate the dependency on cgo. It looks like the daemon was already present at that time. Why the daemon was present 3.5 years ago is not clear since I believe SQLite3 at that time supported reading/writing the database by multiple processes. |
Note that the module that causes the panic was removed six months ago by commit 3501b94. So unless there is some reason to think this failure can still occur this should probably be closed as no longer relevant. |
@krader1961 this occurred on a binary I grabbed from the most recent github release. I downloaded it <24 hours ago. Maybe still an issue? |
@fennewald, What does |
Clarification: The file that appears in the panic stack that was removed six months ago is |
Yeah, buildinfo is:
I pulled it from the elvish website (Linux x86_64) on January 12th. |
@fennewald Version 0.14.1 has been released on 2020-08-16, you need to test against the HEAD binary downloadable from the same page. |
Hi, @fennewald. Only HEAD has first-class support at the moment, and since this bug is not present on HEAD I'm closing this. @krader1961 I grant that the daemon makes things more complex, but if you want to have it eliminated, there needs to be a concrete proposal for replacing it. Feel free to open another issue to discuss it. |
@krader1961 I looked into the sqlite package you pointed to and filed #1222. |
Steps to reproduce
Cannot connect to daemon: unexpected RPC error on socket /run/user/1014/elvish/sock: timeout
Error message is:
I know this would not occur if the daemon was working. I'm trying to fix that right now, nut I opened this issue because a total crash seems a bit extreme for "daemon related functions may not work"
The text was updated successfully, but these errors were encountered: