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
Crash Report after ".restart" (Sorry, no idea of a more specific reason) #1180
Comments
|
Thanks @Casteele72 this is indeed new to us. Is it possible to chat with you on Libera to try and get a few more details from you? |
|
Yes. As an additional note, the error only occurs when I ".restart" from the party line. If I "/msg ?bot? restart ?password?" from IRC, it seems to restart without problem. Edit: My bad, it was "/msg ?bot? rehash ?pass?" that worked, not restart. Rehashing has not had any issues. |
|
Oops... What server and channel on Libera? I did not see that info in the README (it still references FreeNode). |
|
I'd still like to talk to you, but that makes me think you have a Tcl script loaded that is causing the issue, as eggdrop doesn't have a 'restart' command by default :) |
|
irc.libera.chat #eggdrop |
|
I'm on now, as "Casteele" |
|
Latest update: I will be uploading an eggdrop.conf (to pastebin) file that I have used to both reliably create the problem, and to avoid it. Specifically, I have been able to narrow it down to loadmodule:
It does appear to be in the core code, however, and not in one of the modules. All the modules seem to successfully unload before the crash occurs. I tested this by making an event bind to dump global variables and values to the log after the "blowfish" module unloads (which was the first to load, last to unload, not counting the core eggdrop "module"). The result was that it dumped around one half of the globals and then crashed. I have also noted some variables are not propagating correctly, even on initial load, not just a restart problem. These include {::admin} and {::nick}. {::admin} consistently becomes {} after a rehash or a non-crashing restart. The bot does not seem to even see {::nick} if I do not set it in the global namespace context. I.E., "proc {myproc} {args} {... set ::nick mybot ...}" results in the bot complaining it does not have a nick set. But "proc {myproc} {args} {... namespace eval :: {set ::nick mybot} ...}" works as expected. I am not certain the two issues are related, but I suspect they are--some code is not setting variable traces correctly. (It may even been in the Tcl code, not the Eggdrop code.) Edit: pastebin of eggdrop.conf: https://pastebin.com/0CWnmWtj |
Casteele72 commentedJul 14, 2021
•
edited
Last ten lines from my log file:
(Sorry about the messed up timestamps, that is another problem I will figure out.)
From DEBUG:
This is on my home machine, so I can recompile with additional debug flags, if requested.
Also note that I made one modification to the source code: I disabled the code that checks and refuses to run as root, as I am setting this bot up as an administration toy/tool. Everything else is stock code from the downloaded .tar.gz file (except, of course, the eggdrop.conf file).
The text was updated successfully, but these errors were encountered: