[Mudlet-makers] [Bug 1676946] Re: Crash when timer initiated from sysDisconnectEvent
Migrating issues to Github, please follow the new discussion here: https://github.com/Mudlet/Mudlet/issues/512 This issue needs to be closed and there is no appropriate status, so will set it to "Opinion" just for migration purposes. ** Bug watch added: github.com/Mudlet/Mudlet/issues #512 https://github.com/Mudlet/Mudlet/issues/512 ** Changed in: mudlet Status: New => Opinion -- You received this bug notification because you are a member of Mudlet Makers, which is subscribed to Mudlet. https://bugs.launchpad.net/bugs/1676946 Title: Crash when timer initiated from sysDisconnectEvent Status in Mudlet: Opinion Bug description: Sample code: function autoCrash() tempTimer(5,[[echo("This will crash 5 seconds after mudlet profile is closed")]]) -- tempTimer(5,[[send("This will crash 5 seconds after mudlet profile is closed")]]) -- only when send output is set to 'on' in settings -- tempTimer(5,[[reconnect()]]) -- this will crash mudlet 5 seconds after profile is closed end registerAnonymousEventHandler("sysDisconnectionEvent","autoCrash") Explanation: Any output to the profile's window after it has been closed will crash mudlet. ANY output at all - Any function that will output anything, including reconnect(), echo() send() [send only when the 'show text sent to MUD'], etc. The only way this can happen is via the sysDisconnectEvent and a tempTimer or by enableTimer() on a timer that will output something. Otherwise, all timers (temp and permanent) are disabled at profile close. The culprit appears to be that sysDisconnectEvent is called, whether the profile is connected or disconnected, at the close of the profile. This is probably to terminate any open connections to the MUD. However, it is being called after all timers have been disabled. If you try this same tempTimer in an alias, then close the profile before it fires, you will have no crash. --Mudlet 3.0.0 --Windows 10 To manage notifications about this bug go to: https://bugs.launchpad.net/mudlet/+bug/1676946/+subscriptions ___ Mailing list: https://launchpad.net/~mudlet-makers Post to : mudlet-makers@lists.launchpad.net Unsubscribe : https://launchpad.net/~mudlet-makers More help : https://help.launchpad.net/ListHelp
[Mudlet-makers] [Bug 1676946] Re: Crash when timer initiated from sysDisconnectEvent
The above disconnection event being fired when the profile is shut down, to clarify. -- You received this bug notification because you are a member of Mudlet Makers, which is subscribed to Mudlet. https://bugs.launchpad.net/bugs/1676946 Title: Crash when timer initiated from sysDisconnectEvent Status in Mudlet: New Bug description: Sample code: function autoCrash() tempTimer(5,[[echo("This will crash 5 seconds after mudlet profile is closed")]]) -- tempTimer(5,[[send("This will crash 5 seconds after mudlet profile is closed")]]) -- only when send output is set to 'on' in settings -- tempTimer(5,[[reconnect()]]) -- this will crash mudlet 5 seconds after profile is closed end registerAnonymousEventHandler("sysDisconnectionEvent","autoCrash") Explanation: Any output to the profile's window after it has been closed will crash mudlet. ANY output at all - Any function that will output anything, including reconnect(), echo() send() [send only when the 'show text sent to MUD'], etc. The only way this can happen is via the sysDisconnectEvent and a tempTimer or by enableTimer() on a timer that will output something. Otherwise, all timers (temp and permanent) are disabled at profile close. The culprit appears to be that sysDisconnectEvent is called, whether the profile is connected or disconnected, at the close of the profile. This is probably to terminate any open connections to the MUD. However, it is being called after all timers have been disabled. If you try this same tempTimer in an alias, then close the profile before it fires, you will have no crash. --Mudlet 3.0.0 --Windows 10 To manage notifications about this bug go to: https://bugs.launchpad.net/mudlet/+bug/1676946/+subscriptions ___ Mailing list: https://launchpad.net/~mudlet-makers Post to : mudlet-makers@lists.launchpad.net Unsubscribe : https://launchpad.net/~mudlet-makers More help : https://help.launchpad.net/ListHelp
[Mudlet-makers] [Bug 1676946] Re: Crash when timer initiated from sysDisconnectEvent
This does make sense - are we talking about a multi-playing situation where a profile can be closed but the application keeps running other one(s). There are a few instabilities in that area as the clean-up code is a bit weak, but most users (who do not multi-play) are not going to see this if my read of the situation is correct. Nevertheless, thanks for reminding us that we need to look into this... -- You received this bug notification because you are a member of Mudlet Makers, which is subscribed to Mudlet. https://bugs.launchpad.net/bugs/1676946 Title: Crash when timer initiated from sysDisconnectEvent Status in Mudlet: New Bug description: Sample code: function autoCrash() tempTimer(5,[[echo("This will crash 5 seconds after mudlet profile is closed")]]) -- tempTimer(5,[[send("This will crash 5 seconds after mudlet profile is closed")]]) -- only when send output is set to 'on' in settings -- tempTimer(5,[[reconnect()]]) -- this will crash mudlet 5 seconds after profile is closed end registerAnonymousEventHandler("sysDisconnectionEvent","autoCrash") Explanation: Any output to the profile's window after it has been closed will crash mudlet. ANY output at all - Any function that will output anything, including reconnect(), echo() send() [send only when the 'show text sent to MUD'], etc. The only way this can happen is via the sysDisconnectEvent and a tempTimer or by enableTimer() on a timer that will output something. Otherwise, all timers (temp and permanent) are disabled at profile close. The culprit appears to be that sysDisconnectEvent is called, whether the profile is connected or disconnected, at the close of the profile. This is probably to terminate any open connections to the MUD. However, it is being called after all timers have been disabled. If you try this same tempTimer in an alias, then close the profile before it fires, you will have no crash. --Mudlet 3.0.0 --Windows 10 To manage notifications about this bug go to: https://bugs.launchpad.net/mudlet/+bug/1676946/+subscriptions ___ Mailing list: https://launchpad.net/~mudlet-makers Post to : mudlet-makers@lists.launchpad.net Unsubscribe : https://launchpad.net/~mudlet-makers More help : https://help.launchpad.net/ListHelp