I'm using a set of plugins that display various information about a MUD to miniwindows. Each plugin is using a .lua snippet file which takes care of all of the functions of the miniwindows. Periodically, these miniwindows will go completely black. All of the hotspots are still there and can be clicked on, but the foreground colors are all black. The only fix seems to be a full restart of the client. As the plugins are not mine, it's necessary to try and "recreate" the issue but I cannot determine any pattern to when they go black. Examining the code it seems each time the information changes the window is just recreated. I don't understand when/how the client is getting confused so I don't know where to begin troubleshooting. Any ideas?
Miniwindow goes black
Posted by Rooklion on Thu 25 Aug 2011 05:52 AM — 64 posts, 242,639 views.
There's not really enough information to go on with there. What plugins? What snippets?
Some authors, like Fiendish and Twisol, have written quite complex plugins using miniwindows. I haven't had any complaints about them going black and needing to restart the client.
Some authors, like Fiendish and Twisol, have written quite complex plugins using miniwindows. I haven't had any complaints about them going black and needing to restart the client.
I've gotten a number of reports of this from people using Bast's plugins (https://code.google.com/p/bastmush/) on top of my Aardwolf package (https://code.google.com/p/aardwolfclientpackage/). My guess is that the combination has the ability to peak at a *lot* of plugin processing at random times. It did happen to me *once*, but I've never been able to reproduce it, and I don't like reporting problems before I can reproduce them because I know how difficult that is to track down and try to fix.
The one thing that stuck out to me though was that simply disabling/removing/reloading the plugins doesn't help. You actually have to shut down MUSHclient.
The one thing that stuck out to me though was that simply disabling/removing/reloading the plugins doesn't help. You actually have to shut down MUSHclient.
I have had reports of it as well. But I had one user say it wasn't just my plugins. I also cannot reproduce it.
Bast
Bast
For what it's worth, I haven't seen or heard this happen yet.
Apologies, I suppose I was trying to avoid the traditional "post your bugs to the authors" response. The plugins that go black are, in fact, the ones based on Bast's miniwin.lua file. The closest I can come to a "reproduction" is anytime I'm moving rapidly along in Aardwolf from one mob to another. One miniwindow is showing the names and descriptions of the mobs in the room and another is displaying Campaign targets. They only seem to go black after many rapid changes to the contents.
Rooklion said:
One miniwindow is showing the names and descriptions of the mobs in the room and another is displaying Campaign targets. They only seem to go black after many rapid changes to the contents.
One miniwindow is showing the names and descriptions of the mobs in the room and another is displaying Campaign targets. They only seem to go black after many rapid changes to the contents.
What plugin shows descriptions of mobs in the room? I don't have a plugin that does that.
Bast
It's possible some Windows resource is not being freed properly. A while ago I had a small program that, after a while, stopped drawing properly because I had used a Windows "brush" and not freed it. Eventually it ran out of brushes.
However it would help if you could reproduce with some sort of small test case.
However it would help if you could reproduce with some sort of small test case.
Nick Gammon said:
However it would help if you could reproduce with some sort of small test case.
However it would help if you could reproduce with some sort of small test case.
If only. I've been getting complaints for a while. Every time I ask how to reproduce the problem, the answer is always
Quote:
*shrug*
:\
*shrug*
I have created a mob database plugin based on Bast's miniwin.lua script. This one as well as the other Bastmush plugins I use go black. These include miniwin_spellup, miniwin_events.
As far as reproduction, it's extremely unpredictable when it will occur. During fast-moving CP-levelling is the only time it reliably happens.
Most recent: my mob database plugin shows the contents of the {roomchars} tag in conjunction with a "consider all" to get the mob's shortname. After checking both lists contain the same number of records, the database is searched to receive the mob's database ID #. These 3 are then written into a miniwindow. During a visit to one of the mobs in my CP it seems that the attempt to write to the miniwindow caused it to go black.
My guess is that many frequent redraws of the miniwindow is causing the blackout. Could a difference in the way Bast's miniwindows are refreshed be causing the bug?
As far as reproduction, it's extremely unpredictable when it will occur. During fast-moving CP-levelling is the only time it reliably happens.
Most recent: my mob database plugin shows the contents of the {roomchars} tag in conjunction with a "consider all" to get the mob's shortname. After checking both lists contain the same number of records, the database is searched to receive the mob's database ID #. These 3 are then written into a miniwindow. During a visit to one of the mobs in my CP it seems that the attempt to write to the miniwindow caused it to go black.
My guess is that many frequent redraws of the miniwindow is causing the blackout. Could a difference in the way Bast's miniwindows are refreshed be causing the bug?
Quote:
Could a difference in the way Bast's miniwindows are refreshed be
The one time I saw it happen was not on one of Bast's plugins. I think the only thing we have is that there's a whole bunch of processing and drawing going on.
Could a difference in the way Bast's miniwindows are refreshed be
Could you confirm whether or not this problem tends to occur after a lengthy period of time? If some resource is eventually being consumed, then a lot of activity would consume it faster. However I would still expect this sort of problem to manifest itself later, rather than sooner.
Next time it happens:
Next time it happens:
Please provide a summary of your world configuration:
- Either use the scripting Immediate window (Ctrl+I) to execute: Debug ("summary")
or
- Install the Summary plugin (see "Summary" feature) and type "summary"
Then copy the resulting information from the output window, and paste into a Forum message.
You need version 4.55 onwards of MUSHclient to do this.
I got this from a friend.
Summary:
http://pastebin.com/raw.php?i=8PYs8yuU
Screenshot:
http://i.imgur.com/qPw5z.png
Summary:
http://pastebin.com/raw.php?i=8PYs8yuU
Screenshot:
http://i.imgur.com/qPw5z.png
So which plugin is that black window?
Well that's confusing. Version 4.78 is "in the wild" whereas I haven't released it yet.
In fact, remind me what change was made in that? My release notes don't show anything.
In fact, remind me what change was made in that? My release notes don't show anything.
Nick Gammon said:
So which plugin is that black window?
So which plugin is that black window?
miniwin_tabwin
Nick Gammon said:
Well that's confusing. Version 4.78 is "in the wild" whereas I haven't released it yet.
In fact, remind me what change was made in that? My release notes don't show anything.
I have no idea. This particular user likes to dig through your downloads path to look for things that aren't released yet.Well that's confusing. Version 4.78 is "in the wild" whereas I haven't released it yet.
In fact, remind me what change was made in that? My release notes don't show anything.
[EDIT] Oh, I think that's the one where I asked for help debugging listboxes. (http://mushclient.com/forum/bbshowpost.php?id=11265&page=1)
I need to know which plugin, in that screenshot, was black. I'm not going to measure pixel by pixel to find it out.
Also that screenshot seems to refute the idea that resources are being consumed. Only one window is black, the rest look OK.
@whoever_downloads_custom_releases: those custom releases are designed for working with a particular developer - in this case Fiendish. They may have debugging code that makes them work less well in general than normally-released software.
[EDIT] miniwin_tabwin - ok gotcha.
Also that screenshot seems to refute the idea that resources are being consumed. Only one window is black, the rest look OK.
@whoever_downloads_custom_releases: those custom releases are designed for working with a particular developer - in this case Fiendish. They may have debugging code that makes them work less well in general than normally-released software.
[EDIT] miniwin_tabwin - ok gotcha.
In the file miniwin_tabbar.xml?
That plugin doesn't seem to do much except this:
Now, loadstring silently fails (if it fails). I would be doing:
function OnPluginBroadcast (msg, id, name, text)
--local windowstuff = {}
if id == GetPluginID() then
return
end
if msg == 5000 then
loadstring( text )()
local winstuff = windowstuff
if next(winstuff) then
tabwin:enable()
tabwin:addwtab(winstuff)
end
elseif msg == 5001 then
loadstring( text )()
local winstuff = windowstuff
if next(winstuff) then
tabwin:removewtab(winstuff)
end
end
phelper:OnPluginBroadcast(msg, id, name, text)
end
Now, loadstring silently fails (if it fails). I would be doing:
assert (loadstring( text )) ()
Quote:
That plugin doesn't seem to do much except
That plugin doesn't seem to do much except
If you want a more complete plugin to look at, it has also happened to someone with my health bars miniwindow (aard_health_bars_gmcp.xml)
I don't have a summary from when it happened, though.
Quote:
Only one window is black, the rest look OK.
Yeah, as far as I've been told it's generally only one miniwindow at a time. But it tends to be a different one in each report.
Only one window is black, the rest look OK.
I wonder if this is a manifestation of the race condition discussed in another thread? Try going back to version 4.75 and see if the problem goes away.
Hmm. I've got another user here who can get it to happen pretty reliably just by starting MUSHclient with no other intervention. I asked him to switch to 4.75 and it still happens.
Quote:
-------------- MUSHclient summary --------------
MUSHclient version: 4.75
Compiled: Jun 12 2011.
Time now: Saturday, August 27, 2011, 10:58 PM
Operating system: Windows XP
Libraries: Lua 5.1.4, PCRE 8.12, PNG 1.5.2, SQLite3 3.7.6.3, Zlib 1.2.5
World name: 'Aardwolf', ID: e0eb198d8d5698e3b2f61483
-- Scripting --
Script language: Lua, enabled: yes
Scripting active: yes
Lua sandbox is 127 characters, DLL loading allowed: yes
Scripting prefix: '\\'. External editor in use: yes.
Editor path: C:\Program Files\Vim\vim62\gvim.exe
Scripting for: 14.592088 seconds.
-- Triggers, aliases, timers, variables --
** Triggers: 1 in world file, triggers enabled: yes. [Triggers]
1 enabled, 0 regexp, 4116 attempts, 0 matched, 0.010959 seconds.
** Aliases: 24 in world file, aliases enabled: yes. [Aliases]
23 enabled, 1 regexp, 138 attempts, 0 matched, 0.000406 seconds.
** Timers: 0 in world file, timers enabled: yes.
0 enabled, 0 fired.
Timers checked every 0.1 seconds.
** Variables: 0.
-- MCCP --
MCCP active, took 0.001829 seconds to decompress
MCCP received 10691 compressed bytes, decompressed to 117846 bytes.
MCCP compression ratio was: 9.1% (lower is better)
-- Plugins (Processing order) --
ID: 3e7dedbe37e44942dd46d264, 'GMCP_handler', (Lua, 1.151 s) Enabled [Al Va Cb]
ID: 462b665ecb569efbf261422f, 'Miniwindow_Z_Order_Monitor', (Lua, 0.001 s) Enabled [Va Cb]
ID: c293f9e7f04dde889f65cb90, 'Aardwolf_Main_Layout', (Lua, 0.068 s) Enabled [Al Va Cb]
ID: b11c1b7fe961558d6f6aba5e, 'Aardwolf_Helper_Aliases', (Lua, 0.000 s) Enabled [Al]
ID: ef4a86dbc9cd4dd6f4c69386, 'Aardwolf_Statmon', (Lua, 0.070 s) Enabled [Al Va Cb]
ID: f178e68512c685b3be1e9b07, 'Aardwolf_Group_Monitor', (Lua, 0.012 s) Enabled [Al Va Cb]
ID: ef4a86dbc9cd4dd6f4c69385, 'Aardwolf_Health_Bars', (Lua, 0.065 s) Enabled [Al Va Cb]
ID: b6eae87ccedd84f510b74714, 'Aardwolf_GMCP_Mapper', (Lua, 0.370 s) Enabled [Tr Al Ti Va Cb]
ID: 04d9e64f835452b045b427a7, 'Copy_Colour_Output', (Lua, 0.002 s) Enabled [Al]
ID: b555825a4a5700c35fa80780, 'Aardwolf_Chat_Capture_Miniwindow', (Lua, 0.627 s) Enabled [Tr Al Va Cb]
ID: 3f498d929793c12cb70fb59e, 'Aardwolf_Ascii_Mapper', (Lua, 0.012 s) Enabled [Tr Al Va Cb]
ID: e50b1d08a0cfc0ee9c44947b, 'Aardwolf_Tick_Timer', (Lua, 0.021 s) Enabled [Ti Va Cb]
ID: 60840c9013c7cc57777ae0ac, 'Aardwolf_BigMap_Graphical', (Lua, 0.094 s) Enabled [Tr Al Va Cb]
ID: abc1a0944ae4af7586ce88dc, 'Repaint_Buffer', (Lua, 0.704 s) Enabled [Cb]
ID: 9f796334ab9ed476ef44f1dc, 'Aardwolf_New_Connection', (Lua, 0.004 s) Enabled [Va Cb]
ID: 55616ea13339bc68e963e1f8, 'Aardwolf_Chat_Echo', (Lua, 0.007 s) Enabled [Tr Al Va Cb]
ID: aaa66f81c50828bbbfda7100, 'xBroadcast_CP', (Lua, 0.407 s) Enabled [Tr Al Ti Va Cb]
ID: e8520531407cb4281bea544e, 'PluginFunctions', (Lua, 0.176 s) Enabled [Al Va Cb]
ID: a7a2f5a3b1373cd99d6bfb47, 'xBastmush_Update_Checker', (Lua, 0.936 s) Enabled [Al Va Cb]
ID: d67ae331407cb4281bea544e, 'bast_hunt', (Lua, 0.163 s) Enabled [Tr Al Va Cb]
ID: eee4b4fa021c1bee534ef093, 'miniwin_events', (Lua, 0.542 s) Enabled [Tr Al Va Cb]
ID: aaa77f81c5408278ccda7100, 'xBroadcast_GQ', (Lua, 0.182 s) Enabled [Tr Al Va Cb]
ID: aaa8a9eda20fa11787c6b438, 'xBroadcast_Quest', (Lua, 0.442 s) Enabled [Al Ti Va Cb]
ID: eee9913955ee86427355ad5e, 'miniwin_moonbot', (Lua, 0.271 s) Enabled [Tr Al Va Cb]
ID: eeed33165bd63fe12e148e5d, 'miniwin_double', (Lua, 0.260 s) Enabled [Al Va Cb]
ID: aaafc15678afa22343c5a327, 'xBroadcast_Double', (Lua, 0.177 s) Enabled [Tr Al Ti Va Cb]
ID: eee0c922b56427cb80fe117e, 'miniwin_noexp', (Lua, 0.252 s) Enabled [Al Va Cb]
ID: aaa65ac8122d795ad5348dcd, 'xBroadcast_Noexp', (Lua, 0.173 s) Enabled [Tr Al Va Cb]
ID: eee90c778a44169e1e1d9585, 'miniwin_stats', (Lua, 0.546 s) Enabled [Al Va Cb]
ID: aaaf0c555a44169e0f1d9674, 'bast_spellup', (Lua, 0.823 s) Enabled [Al Va Cb]
ID: aaa72f3b5453567e2bba9d50, 'xBroadcast_SpellSkills', (Lua, 3.096 s) Enabled [Tr Al Va Cb]
ID: eeef0c555a44169e0f1d9674, 'miniwin_spellup', (Lua, 0.930 s) Enabled [Al Ti Va Cb]
ID: 59358039c72bc395fb31922e, 'PotionQuafferv2', (Lua, 0.003 s) Enabled [Tr Al Va Cb]
ID: 2a5caa1cd7dbcff665e2a23d, 'Consider_info', (Lua, 0.000 s) Enabled [Tr]
ID: 18c24130ab326dc05b49420d, 'Aardwolf_exits_detector', (Lua, 0.007 s) Enabled [Tr Al Va Cb]
ID: a749d26f1cb3e00282727e55, 'StatDB', (Lua, 0.514 s) Enabled [Al Ti Va Cb]
ID: aaa0ab9ed92f8fc614664bd1, 'xBroadcast_Level', (Lua, 0.171 s) Enabled [Tr Al Va Cb]
ID: aaa61c4570508448e19c7c14, 'xBroadcast_Kills', (Lua, 0.196 s) Enabled [Tr Al Va Cb]
ID: aaaf9a8dc92f8fc614663ac0, 'xBroadcast_Whois', (Lua, 0.189 s) Enabled [Tr Al Va Cb]
ID: aaa7dc9ed92ffc6146964abc, 'xBroadcast_Inventory', (Lua, 0.248 s) Enabled [Tr Al Va Cb]
ID: a8f5b1a3b1373cd99d6bfb47, 'StatMonitor', (Lua, 0.248 s) Enabled [Al Ti Va Cb]
ID: eee96e233d11e6910f1d9e8e, 'miniwin_tabwin', (Lua, 0.434 s) Enabled [Al Va Cb]
** Plugins: 42 loaded, 42 enabled.
-- Comms --
Connect phase: 8 (Open). NAWS wanted: NO
Received: 14045 bytes (13 Kb)
Sent: 1892 bytes (1 Kb)
Received 38 packets, sent 58 packets.
Total lines received: 319
This connection: Sent 20 lines, received 4208 lines.
Telnet (IAC) received: DO: 3, DONT: 0, WILL: 6, WONT: 1, SB: 41 [Telnet]
-- MXP --
MXP active: NO, Pueblo mode: NO, Activated: On command
MXP tags received: 0
MXP entities received: 0
MXP errors: 0
-- Commands --
Commands in command history: 5
Speed walking enabled: NO. Speed walking prefix: #
Command stacking enabled: yes. Command stack character: ';'
Accelerators defined: 1 [Accelerators]
-- Miniwindows --
Window: ' c293f9e7f04dde889f65cb90text_background', at (2,135,655,652), shown: yes
width: 653, height: 517, position: 12, hotspots: 0, fonts: 0, images: 1
Window: ' c293f9e7f04dde889f65cb90text_background_offscreen', at (0,0,0,0), shown: NO
width: 500, height: 500, position: 12, hotspots: 0, fonts: 0, images: 1
Window: ' c293f9e7f04dde889f65cb90txtdragger', at (1,133,655,143), shown: yes
width: 654, height: 10, position: 0, hotspots: 1, fonts: 0, images: 0
Window: ' c293f9e7f04dde889f65cb90txtresize', at (640,637,655,652), shown: yes
width: 15, height: 15, position: 0, hotspots: 1, fonts: 0, images: 0
Window: '3f498d929793c12cb70fb59e', at (658,81,867,324), shown: yes
width: 209, height: 243, position: 0, hotspots: 3, fonts: 2, images: 0
Window: '60840c9013c7cc57777ae0ac_offscreen_buffer', at (0,0,0,0), shown: NO
width: 100, height: 100, position: 0, hotspots: 0, fonts: 0, images: 1
Window: 'a7a2f5a3b1373cd99d6bfb47-Update', at (304,180,872,500), shown: NO
width: 568, height: 320, position: 12, hotspots: 13, fonts: 5, images: 0
Window: 'b555825a4a5700c35fa80780', at (0,0,657,131), shown: yes
width: 657, height: 131, position: 0, hotspots: 6, fonts: 2, images: 0
Window: 'b6eae87ccedd84f510b74714_mapper', at (868,108,1136,443), shown: yes
width: 268, height: 335, position: 0, hotspots: 7, fonts: 3, images: 1
Window: 'b6eae87ccedd84f510b74714_z_config_win', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eee0c922b56427cb80fe117e-Noexp', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eee4b4fa021c1bee534ef093-Events', at (616,342,736,386), shown: yes
width: 120, height: 44, position: 0, hotspots: 4, fonts: 5, images: 0
Window: 'eee90c778a44169e1e1d9585-Info', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eee90c778a44169e1e1d9585-Stats', at (837,89,1173,115), shown: yes
width: 336, height: 26, position: 0, hotspots: 4, fonts: 5, images: 0
Window: 'eee96e233d11e6910f1d9e8e-tabwin', at (1070,534,1179,651), shown: yes
width: 109, height: 117, position: 0, hotspots: 10, fonts: 4, images: 0
Window: 'eee9913955ee86427355ad5e-Moons', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eeed33165bd63fe12e148e5d-Double', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eeef0c555a44169e0f1d9674-SpellUp', at (866,462,1175,488), shown: yes
width: 309, height: 26, position: 0, hotspots: 4, fonts: 5, images: 0
Window: 'ef4a86dbc9cd4dd6f4c69385', at (0,656,867,680), shown: yes
width: 867, height: 24, position: 0, hotspots: 7, fonts: 1, images: 0
Window: 'ef4a86dbc9cd4dd6f4c69386', at (658,326,867,654), shown: yes
width: 209, height: 328, position: 0, hotspots: 2, fonts: 1, images: 0
Window: 'f178e68512c685b3be1e9b07', at (868,444,1136,680), shown: yes
width: 268, height: 236, position: 0, hotspots: 2, fonts: 2, images: 0
Window: 'z_a749d26f1cb3e00282727e55-StatDB_help', at (0,0,0,0), shown: NO
width: 982, height: 590, position: 12, hotspots: 22, fonts: 6, images: 0
Window: 'z_a7a2f5a3b1373cd99d6bfb47-xBastmush_Update_Checker_help', at (0,0,0,0), shown: NO
width: 618, height: 530, position: 12, hotspots: 19, fonts: 6, images: 0
Window: 'z_a8f5b1a3b1373cd99d6bfb47-StatMonitor_help', at (0,0,0,0), shown: NO
width: 625, height: 530, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_aaa0ab9ed92f8fc614664bd1-xBroadcast_Level_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa61c4570508448e19c7c14-xBroadcast_Kills_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa65ac8122d795ad5348dcd-xBroadcast_Noexp_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa66f81c50828bbbfda7100-xBroadcast_CP_help', at (0,0,0,0), shown: NO
width: 548, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa72f3b5453567e2bba9d50-xBroadcast_SpellSkills_help', at (0,0,0,0), shown: NO
width: 499, height: 530, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_aaa77f81c5408278ccda7100-xBroadcast_GQ_help', at (0,0,0,0), shown: NO
width: 513, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa7dc9ed92ffc6146964abc-xBroadcast_Inventory_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa8a9eda20fa11787c6b438-xBroadcast_Quest_help', at (0,0,0,0), shown: NO
width: 513, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaaf0c555a44169e0f1d9674-bast_spellup_help', at (0,0,0,0), shown: NO
width: 949, height: 634, position: 0, hotspots: 38, fonts: 6, images: 0
Window: 'z_aaaf9a8dc92f8fc614663ac0-xBroadcast_Whois_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaafc15678afa22343c5a327-xBroadcast_Double_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_d67ae331407cb4281bea544e-bast_hunt_help', at (0,0,0,0), shown: NO
width: 499, height: 575, position: 0, hotspots: 21, fonts: 6, images: 0
Window: 'z_e8520531407cb4281bea544e-PluginFunctions_help', at (0,0,0,0), shown: NO
width: 884, height: 620, position: 12, hotspots: 24, fonts: 6, images: 0
Window: 'z_eee0c922b56427cb80fe117e-miniwin_noexp_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eee4b4fa021c1bee534ef093-miniwin_events_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eee90c778a44169e1e1d9585-miniwin_stats_help', at (0,0,0,0), shown: NO
width: 569, height: 515, position: 12, hotspots: 19, fonts: 6, images: 0
Window: 'z_eee96e233d11e6910f1d9e8e-miniwin_tabwin_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eee9913955ee86427355ad5e-miniwin_moonbot_help', at (0,0,0,0), shown: NO
width: 499, height: 590, position: 12, hotspots: 23, fonts: 6, images: 0
Window: 'z_eeed33165bd63fe12e148e5d-miniwin_double_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eeef0c555a44169e0f1d9674-miniwin_spellup_help', at (0,0,0,0), shown: NO
width: 499, height: 530, position: 12, hotspots: 19, fonts: 6, images: 0
Window: '~~~~~~3f498d929793c12cb70fb59e:info', at (0,0,0,0), shown: NO
width: 1, height: 1, position: 0, hotspots: 0, fonts: 2, images: 0
** Miniwindows: 45 loaded, 13 shown.
-- Output window --
Output pixels: width 1176, height: 681, font width: 8, font height: 15
can show 147 characters, wrapping at column 80, height 45 lines.
Output buffer: 446 of 9999 lines.
-- Miscellaneous --
Logging: NO, tracing: NO
** SQLite3 databases: 0
Sound buffers in use: 0
---------------------- End summary ----------------------
-------------- MUSHclient summary --------------
MUSHclient version: 4.75
Compiled: Jun 12 2011.
Time now: Saturday, August 27, 2011, 10:58 PM
Operating system: Windows XP
Libraries: Lua 5.1.4, PCRE 8.12, PNG 1.5.2, SQLite3 3.7.6.3, Zlib 1.2.5
World name: 'Aardwolf', ID: e0eb198d8d5698e3b2f61483
-- Scripting --
Script language: Lua, enabled: yes
Scripting active: yes
Lua sandbox is 127 characters, DLL loading allowed: yes
Scripting prefix: '\\'. External editor in use: yes.
Editor path: C:\Program Files\Vim\vim62\gvim.exe
Scripting for: 14.592088 seconds.
-- Triggers, aliases, timers, variables --
** Triggers: 1 in world file, triggers enabled: yes. [Triggers]
1 enabled, 0 regexp, 4116 attempts, 0 matched, 0.010959 seconds.
** Aliases: 24 in world file, aliases enabled: yes. [Aliases]
23 enabled, 1 regexp, 138 attempts, 0 matched, 0.000406 seconds.
** Timers: 0 in world file, timers enabled: yes.
0 enabled, 0 fired.
Timers checked every 0.1 seconds.
** Variables: 0.
-- MCCP --
MCCP active, took 0.001829 seconds to decompress
MCCP received 10691 compressed bytes, decompressed to 117846 bytes.
MCCP compression ratio was: 9.1% (lower is better)
-- Plugins (Processing order) --
ID: 3e7dedbe37e44942dd46d264, 'GMCP_handler', (Lua, 1.151 s) Enabled [Al Va Cb]
ID: 462b665ecb569efbf261422f, 'Miniwindow_Z_Order_Monitor', (Lua, 0.001 s) Enabled [Va Cb]
ID: c293f9e7f04dde889f65cb90, 'Aardwolf_Main_Layout', (Lua, 0.068 s) Enabled [Al Va Cb]
ID: b11c1b7fe961558d6f6aba5e, 'Aardwolf_Helper_Aliases', (Lua, 0.000 s) Enabled [Al]
ID: ef4a86dbc9cd4dd6f4c69386, 'Aardwolf_Statmon', (Lua, 0.070 s) Enabled [Al Va Cb]
ID: f178e68512c685b3be1e9b07, 'Aardwolf_Group_Monitor', (Lua, 0.012 s) Enabled [Al Va Cb]
ID: ef4a86dbc9cd4dd6f4c69385, 'Aardwolf_Health_Bars', (Lua, 0.065 s) Enabled [Al Va Cb]
ID: b6eae87ccedd84f510b74714, 'Aardwolf_GMCP_Mapper', (Lua, 0.370 s) Enabled [Tr Al Ti Va Cb]
ID: 04d9e64f835452b045b427a7, 'Copy_Colour_Output', (Lua, 0.002 s) Enabled [Al]
ID: b555825a4a5700c35fa80780, 'Aardwolf_Chat_Capture_Miniwindow', (Lua, 0.627 s) Enabled [Tr Al Va Cb]
ID: 3f498d929793c12cb70fb59e, 'Aardwolf_Ascii_Mapper', (Lua, 0.012 s) Enabled [Tr Al Va Cb]
ID: e50b1d08a0cfc0ee9c44947b, 'Aardwolf_Tick_Timer', (Lua, 0.021 s) Enabled [Ti Va Cb]
ID: 60840c9013c7cc57777ae0ac, 'Aardwolf_BigMap_Graphical', (Lua, 0.094 s) Enabled [Tr Al Va Cb]
ID: abc1a0944ae4af7586ce88dc, 'Repaint_Buffer', (Lua, 0.704 s) Enabled [Cb]
ID: 9f796334ab9ed476ef44f1dc, 'Aardwolf_New_Connection', (Lua, 0.004 s) Enabled [Va Cb]
ID: 55616ea13339bc68e963e1f8, 'Aardwolf_Chat_Echo', (Lua, 0.007 s) Enabled [Tr Al Va Cb]
ID: aaa66f81c50828bbbfda7100, 'xBroadcast_CP', (Lua, 0.407 s) Enabled [Tr Al Ti Va Cb]
ID: e8520531407cb4281bea544e, 'PluginFunctions', (Lua, 0.176 s) Enabled [Al Va Cb]
ID: a7a2f5a3b1373cd99d6bfb47, 'xBastmush_Update_Checker', (Lua, 0.936 s) Enabled [Al Va Cb]
ID: d67ae331407cb4281bea544e, 'bast_hunt', (Lua, 0.163 s) Enabled [Tr Al Va Cb]
ID: eee4b4fa021c1bee534ef093, 'miniwin_events', (Lua, 0.542 s) Enabled [Tr Al Va Cb]
ID: aaa77f81c5408278ccda7100, 'xBroadcast_GQ', (Lua, 0.182 s) Enabled [Tr Al Va Cb]
ID: aaa8a9eda20fa11787c6b438, 'xBroadcast_Quest', (Lua, 0.442 s) Enabled [Al Ti Va Cb]
ID: eee9913955ee86427355ad5e, 'miniwin_moonbot', (Lua, 0.271 s) Enabled [Tr Al Va Cb]
ID: eeed33165bd63fe12e148e5d, 'miniwin_double', (Lua, 0.260 s) Enabled [Al Va Cb]
ID: aaafc15678afa22343c5a327, 'xBroadcast_Double', (Lua, 0.177 s) Enabled [Tr Al Ti Va Cb]
ID: eee0c922b56427cb80fe117e, 'miniwin_noexp', (Lua, 0.252 s) Enabled [Al Va Cb]
ID: aaa65ac8122d795ad5348dcd, 'xBroadcast_Noexp', (Lua, 0.173 s) Enabled [Tr Al Va Cb]
ID: eee90c778a44169e1e1d9585, 'miniwin_stats', (Lua, 0.546 s) Enabled [Al Va Cb]
ID: aaaf0c555a44169e0f1d9674, 'bast_spellup', (Lua, 0.823 s) Enabled [Al Va Cb]
ID: aaa72f3b5453567e2bba9d50, 'xBroadcast_SpellSkills', (Lua, 3.096 s) Enabled [Tr Al Va Cb]
ID: eeef0c555a44169e0f1d9674, 'miniwin_spellup', (Lua, 0.930 s) Enabled [Al Ti Va Cb]
ID: 59358039c72bc395fb31922e, 'PotionQuafferv2', (Lua, 0.003 s) Enabled [Tr Al Va Cb]
ID: 2a5caa1cd7dbcff665e2a23d, 'Consider_info', (Lua, 0.000 s) Enabled [Tr]
ID: 18c24130ab326dc05b49420d, 'Aardwolf_exits_detector', (Lua, 0.007 s) Enabled [Tr Al Va Cb]
ID: a749d26f1cb3e00282727e55, 'StatDB', (Lua, 0.514 s) Enabled [Al Ti Va Cb]
ID: aaa0ab9ed92f8fc614664bd1, 'xBroadcast_Level', (Lua, 0.171 s) Enabled [Tr Al Va Cb]
ID: aaa61c4570508448e19c7c14, 'xBroadcast_Kills', (Lua, 0.196 s) Enabled [Tr Al Va Cb]
ID: aaaf9a8dc92f8fc614663ac0, 'xBroadcast_Whois', (Lua, 0.189 s) Enabled [Tr Al Va Cb]
ID: aaa7dc9ed92ffc6146964abc, 'xBroadcast_Inventory', (Lua, 0.248 s) Enabled [Tr Al Va Cb]
ID: a8f5b1a3b1373cd99d6bfb47, 'StatMonitor', (Lua, 0.248 s) Enabled [Al Ti Va Cb]
ID: eee96e233d11e6910f1d9e8e, 'miniwin_tabwin', (Lua, 0.434 s) Enabled [Al Va Cb]
** Plugins: 42 loaded, 42 enabled.
-- Comms --
Connect phase: 8 (Open). NAWS wanted: NO
Received: 14045 bytes (13 Kb)
Sent: 1892 bytes (1 Kb)
Received 38 packets, sent 58 packets.
Total lines received: 319
This connection: Sent 20 lines, received 4208 lines.
Telnet (IAC) received: DO: 3, DONT: 0, WILL: 6, WONT: 1, SB: 41 [Telnet]
-- MXP --
MXP active: NO, Pueblo mode: NO, Activated: On command
MXP tags received: 0
MXP entities received: 0
MXP errors: 0
-- Commands --
Commands in command history: 5
Speed walking enabled: NO. Speed walking prefix: #
Command stacking enabled: yes. Command stack character: ';'
Accelerators defined: 1 [Accelerators]
-- Miniwindows --
Window: ' c293f9e7f04dde889f65cb90text_background', at (2,135,655,652), shown: yes
width: 653, height: 517, position: 12, hotspots: 0, fonts: 0, images: 1
Window: ' c293f9e7f04dde889f65cb90text_background_offscreen', at (0,0,0,0), shown: NO
width: 500, height: 500, position: 12, hotspots: 0, fonts: 0, images: 1
Window: ' c293f9e7f04dde889f65cb90txtdragger', at (1,133,655,143), shown: yes
width: 654, height: 10, position: 0, hotspots: 1, fonts: 0, images: 0
Window: ' c293f9e7f04dde889f65cb90txtresize', at (640,637,655,652), shown: yes
width: 15, height: 15, position: 0, hotspots: 1, fonts: 0, images: 0
Window: '3f498d929793c12cb70fb59e', at (658,81,867,324), shown: yes
width: 209, height: 243, position: 0, hotspots: 3, fonts: 2, images: 0
Window: '60840c9013c7cc57777ae0ac_offscreen_buffer', at (0,0,0,0), shown: NO
width: 100, height: 100, position: 0, hotspots: 0, fonts: 0, images: 1
Window: 'a7a2f5a3b1373cd99d6bfb47-Update', at (304,180,872,500), shown: NO
width: 568, height: 320, position: 12, hotspots: 13, fonts: 5, images: 0
Window: 'b555825a4a5700c35fa80780', at (0,0,657,131), shown: yes
width: 657, height: 131, position: 0, hotspots: 6, fonts: 2, images: 0
Window: 'b6eae87ccedd84f510b74714_mapper', at (868,108,1136,443), shown: yes
width: 268, height: 335, position: 0, hotspots: 7, fonts: 3, images: 1
Window: 'b6eae87ccedd84f510b74714_z_config_win', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eee0c922b56427cb80fe117e-Noexp', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eee4b4fa021c1bee534ef093-Events', at (616,342,736,386), shown: yes
width: 120, height: 44, position: 0, hotspots: 4, fonts: 5, images: 0
Window: 'eee90c778a44169e1e1d9585-Info', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eee90c778a44169e1e1d9585-Stats', at (837,89,1173,115), shown: yes
width: 336, height: 26, position: 0, hotspots: 4, fonts: 5, images: 0
Window: 'eee96e233d11e6910f1d9e8e-tabwin', at (1070,534,1179,651), shown: yes
width: 109, height: 117, position: 0, hotspots: 10, fonts: 4, images: 0
Window: 'eee9913955ee86427355ad5e-Moons', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eeed33165bd63fe12e148e5d-Double', at (0,0,0,0), shown: NO
width: 0, height: 0, position: 0, hotspots: 0, fonts: 2, images: 0
Window: 'eeef0c555a44169e0f1d9674-SpellUp', at (866,462,1175,488), shown: yes
width: 309, height: 26, position: 0, hotspots: 4, fonts: 5, images: 0
Window: 'ef4a86dbc9cd4dd6f4c69385', at (0,656,867,680), shown: yes
width: 867, height: 24, position: 0, hotspots: 7, fonts: 1, images: 0
Window: 'ef4a86dbc9cd4dd6f4c69386', at (658,326,867,654), shown: yes
width: 209, height: 328, position: 0, hotspots: 2, fonts: 1, images: 0
Window: 'f178e68512c685b3be1e9b07', at (868,444,1136,680), shown: yes
width: 268, height: 236, position: 0, hotspots: 2, fonts: 2, images: 0
Window: 'z_a749d26f1cb3e00282727e55-StatDB_help', at (0,0,0,0), shown: NO
width: 982, height: 590, position: 12, hotspots: 22, fonts: 6, images: 0
Window: 'z_a7a2f5a3b1373cd99d6bfb47-xBastmush_Update_Checker_help', at (0,0,0,0), shown: NO
width: 618, height: 530, position: 12, hotspots: 19, fonts: 6, images: 0
Window: 'z_a8f5b1a3b1373cd99d6bfb47-StatMonitor_help', at (0,0,0,0), shown: NO
width: 625, height: 530, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_aaa0ab9ed92f8fc614664bd1-xBroadcast_Level_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa61c4570508448e19c7c14-xBroadcast_Kills_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa65ac8122d795ad5348dcd-xBroadcast_Noexp_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa66f81c50828bbbfda7100-xBroadcast_CP_help', at (0,0,0,0), shown: NO
width: 548, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa72f3b5453567e2bba9d50-xBroadcast_SpellSkills_help', at (0,0,0,0), shown: NO
width: 499, height: 530, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_aaa77f81c5408278ccda7100-xBroadcast_GQ_help', at (0,0,0,0), shown: NO
width: 513, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa7dc9ed92ffc6146964abc-xBroadcast_Inventory_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaa8a9eda20fa11787c6b438-xBroadcast_Quest_help', at (0,0,0,0), shown: NO
width: 513, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaaf0c555a44169e0f1d9674-bast_spellup_help', at (0,0,0,0), shown: NO
width: 949, height: 634, position: 0, hotspots: 38, fonts: 6, images: 0
Window: 'z_aaaf9a8dc92f8fc614663ac0-xBroadcast_Whois_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_aaafc15678afa22343c5a327-xBroadcast_Double_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 17, fonts: 6, images: 0
Window: 'z_d67ae331407cb4281bea544e-bast_hunt_help', at (0,0,0,0), shown: NO
width: 499, height: 575, position: 0, hotspots: 21, fonts: 6, images: 0
Window: 'z_e8520531407cb4281bea544e-PluginFunctions_help', at (0,0,0,0), shown: NO
width: 884, height: 620, position: 12, hotspots: 24, fonts: 6, images: 0
Window: 'z_eee0c922b56427cb80fe117e-miniwin_noexp_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eee4b4fa021c1bee534ef093-miniwin_events_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eee90c778a44169e1e1d9585-miniwin_stats_help', at (0,0,0,0), shown: NO
width: 569, height: 515, position: 12, hotspots: 19, fonts: 6, images: 0
Window: 'z_eee96e233d11e6910f1d9e8e-miniwin_tabwin_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eee9913955ee86427355ad5e-miniwin_moonbot_help', at (0,0,0,0), shown: NO
width: 499, height: 590, position: 12, hotspots: 23, fonts: 6, images: 0
Window: 'z_eeed33165bd63fe12e148e5d-miniwin_double_help', at (0,0,0,0), shown: NO
width: 499, height: 515, position: 12, hotspots: 18, fonts: 6, images: 0
Window: 'z_eeef0c555a44169e0f1d9674-miniwin_spellup_help', at (0,0,0,0), shown: NO
width: 499, height: 530, position: 12, hotspots: 19, fonts: 6, images: 0
Window: '~~~~~~3f498d929793c12cb70fb59e:info', at (0,0,0,0), shown: NO
width: 1, height: 1, position: 0, hotspots: 0, fonts: 2, images: 0
** Miniwindows: 45 loaded, 13 shown.
-- Output window --
Output pixels: width 1176, height: 681, font width: 8, font height: 15
can show 147 characters, wrapping at column 80, height 45 lines.
Output buffer: 446 of 9999 lines.
-- Miscellaneous --
Logging: NO, tracing: NO
** SQLite3 databases: 0
Sound buffers in use: 0
---------------------- End summary ----------------------
Which miniwindow went black?
Same one. miniwin_tabwin. For this other user, it is always miniwin_tabwin that goes black.
Can you get them to put the suggested "assert" in, in the two places which have a loadstring, and report what happens?
Ok, will probably know the result tomorrow.
Ok, my database (called Aardwolf_Database.xml) went black during a CP. I would be happy to send a private email of the file if it will help track this down. Debug("summary") is below.
http://pastebin.com/6Q4tsxy6
I only use one loadstring() in the file and it uses an assert() already.
http://pastebin.com/6Q4tsxy6
I only use one loadstring() in the file and it uses an assert() already.
And 5 more mobs later, same miniwindow, restarted MUSHClient.
http://pastebin.com/dnLcNGFF
http://pastebin.com/dnLcNGFF
Nick Gammon said:
Can you get them to put the suggested "assert" in, in the two places which have a loadstring, and report what happens?
Can you get them to put the suggested "assert" in, in the two places which have a loadstring, and report what happens?
No improvement.
Update: it seems resources might be to blame. I hadn't restarted my machine in quite a long time and it seemed like I was able to get the blackout in a very short period of time. I've just restarted and have been through a few CPs so far and no blackout.
Fiendish said:
Hmm. I've got another user here who can get it to happen pretty reliably just by starting MUSHclient with no other intervention. I asked him to switch to 4.75 and it still happens.
Hmm. I've got another user here who can get it to happen pretty reliably just by starting MUSHclient with no other intervention. I asked him to switch to 4.75 and it still happens.
Quote:
...debug summary...
...debug summary...
It looks now like whether this happens for this user is entirely dependent on plugin load order. Moving bast_spellup to the very end of the load list made the problem stop. Putting it back made the problem happen again. We're now trying to narrow it down a bit more.
Checking the code for drawing the output window, it seems to me that the window is being drawn, in a sense. The output area is initially cleared to the background colour/image, and then the miniwindows and text drawn.
Now the miniwindows are basicallly "blitted" from the bitmap which is stored as the miniwindow contents. That is, from whatever it was when you last drew stuff.
So if, for some reason, it wasn't drawing certain windows you would see nothing, not a black box. That is, you would see whatever was underneath.
The fact that it has blitted in a black box tends to suggest that the miniwindow contents are wrong, for some reason. A reason along the lines of, someone did a WindowCreate, and then relied upon the window filling up with data, and it didn't.
That's why I was asking about the assert, perhaps if the drawing code hits some condition, it just stops drawing.
Now as far as I can tell, this problem isn't happening to "simple" windows (like status bars) where the window is cleared and then redrawn in easy-to-follow logic.
You could confirm this a bit by clearing the window to some sort of colour, or pattern (like a grid) initially, and then overwriting. Now if we see this colour/grid but not what is supposed to be on top of it, that supports the idea of some logic problem in the plugin.
I also wonder if in one of the libraries, some button or something is getting much larger than it should be? Maybe something that is quite small becomes negative, and that negative value is taken as "from the RH side" and then wipes out everything under it?
What you could do to narrow this down is to remove all instances of black when drawing with some other unique colours (at least for testing). So if the window becomes purple (say) and you only draw that shade of purple in one place, then you have your culprit (this includes the initial colour you clear the window to).
Now the miniwindows are basicallly "blitted" from the bitmap which is stored as the miniwindow contents. That is, from whatever it was when you last drew stuff.
So if, for some reason, it wasn't drawing certain windows you would see nothing, not a black box. That is, you would see whatever was underneath.
The fact that it has blitted in a black box tends to suggest that the miniwindow contents are wrong, for some reason. A reason along the lines of, someone did a WindowCreate, and then relied upon the window filling up with data, and it didn't.
That's why I was asking about the assert, perhaps if the drawing code hits some condition, it just stops drawing.
Now as far as I can tell, this problem isn't happening to "simple" windows (like status bars) where the window is cleared and then redrawn in easy-to-follow logic.
You could confirm this a bit by clearing the window to some sort of colour, or pattern (like a grid) initially, and then overwriting. Now if we see this colour/grid but not what is supposed to be on top of it, that supports the idea of some logic problem in the plugin.
I also wonder if in one of the libraries, some button or something is getting much larger than it should be? Maybe something that is quite small becomes negative, and that negative value is taken as "from the RH side" and then wipes out everything under it?
What you could do to narrow this down is to remove all instances of black when drawing with some other unique colours (at least for testing). So if the window becomes purple (say) and you only draw that shade of purple in one place, then you have your culprit (this includes the initial colour you clear the window to).
Nick Gammon said:
The fact that it has blitted in a black box tends to suggest that the miniwindow contents are wrong, for some reason. A reason along the lines of, someone did a WindowCreate, and then relied upon the window filling up with data, and it didn't.
The fact that it has blitted in a black box tends to suggest that the miniwindow contents are wrong, for some reason. A reason along the lines of, someone did a WindowCreate, and then relied upon the window filling up with data, and it didn't.
Given the evidence I've seen, I'm leaning more toward the miniwindow contents are wrong because they're getting put in the wrong place in memory or getting pulled from the wrong place. Here's why:
Going back to my user who can consistently reproduce the problem, I had him add the following function, activated by an alias, to the miniwin_tabbar.xml plugin.
function testFunction()
local win = "eee96e233d11e6910f1d9e8e-tabwin"
print(WindowRectOp (win, 2, 0, 0, 0, 0, ColourNameToRGB("green")))
Repaint()
end
That *should* immediately make the tabbar window green. But for him it stays black. Though the print does display "0" as expected.
I had him then throw in
WindowShow(win, false)
at the end, and sure enough the black section goes away, which means that MUSHclient is drawing...SOMETHING...just not what it's supposed to be. And then when the mud sent some information and a plugin updated state, it came back. Still black.
This suggests to me a bit that the internal bitmap has gone wrong. Since miniwindow operations draw to the bitmap, and then the bitmap is copied to the main window if (for some reason) it was corrupted then attempts to modify it might fail.
I'll look into it tomorrow.
I'll look into it tomorrow.
Before I look into this in a great deal of detail, what I can't get my head around is why the plugin order affects it.
Say there is a bug in miniwindows, and after 1000 WindowCreate calls it no longer works properly. OK, but why does the plugin order affect that? Whatever order things are done in, the same things will be done, right?
If someone can make a minimal example that reproduces this, that would help track it down.
Say there is a bug in miniwindows, and after 1000 WindowCreate calls it no longer works properly. OK, but why does the plugin order affect that? Whatever order things are done in, the same things will be done, right?
If someone can make a minimal example that reproduces this, that would help track it down.
Quote:
Before I look into this in a great deal of detail, what I can't get my head around is why the plugin order affects it.
I don't think order causes it to happen. I think a certain plugin order may just cause it to happen sooner. Remember that for this particular user the problem manifests right away, whereas most other players require some random combination of events during gameplay before the problem occurs. I had the same user enable tracing before any plugins loaded and the problem didn't happen, which would indicate a race condition and that the output from trace changes the timing enough that the problem goes away.Before I look into this in a great deal of detail, what I can't get my head around is why the plugin order affects it.
Quote:
If someone can make a minimal example that reproduces this, that would help track it down.
I can't even get it to happen at all on my machine. I doubt we'll be able to produce any sort of example. :\
If someone can make a minimal example that reproduces this, that would help track it down.
I'm not sure if a larger test set is needed, but I just installed Linux as a 2nd OS and have MUSHClient running under Wine. I have so far not had a single problem with miniwindows turning black. It might be important to note that I was otherwise running Windows 7 64-bit as my other OS.
Rooklion said:
Update: it seems resources might be to blame. I hadn't restarted my machine in quite a long time and it seemed like I was able to get the blackout in a very short period of time. I've just restarted and have been through a few CPs so far and no blackout.
Update: it seems resources might be to blame. I hadn't restarted my machine in quite a long time and it seemed like I was able to get the blackout in a very short period of time. I've just restarted and have been through a few CPs so far and no blackout.
It is starting to sound like some sort of Windows 7 problem. Perhaps when a process ends it doesn't free all the resources it uses?
Nick Gammon said:
It is starting to sound like some sort of Windows 7 problem.
Can't be. The summary I posted says XP.
It is starting to sound like some sort of Windows 7 problem.
Ok,something like this has now happened on my MUSHclient install with the miniwin_events window. I don't get a fully black window, I got a half drawn window. The hotspots in the window still worked whether or not that part of the window was drawn correctly. It happened within 30 minutes of me starting the client, I requested a campaign, killed a mob, and then the window got drawn incorrectly. If I reloaded the plugin, the problem happened immediately when I did "cp check". If I unload the plugin, change the id, then load the plugin again, the window was drawn correctly, but after a couple of cp mob kills, it did the same thing. If I repeated the process and converted back to the original id, the problem was still there.
Bad Image: http://i.imgur.com/9uIvi.png
Good Image: http://i.imgur.com/X5CwM.png
Here is what top showed:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5263 endavis 20 0 2686m 97m 14m S 11 2.5 3:19.39 MUSHclient.exe
I also had over a gig of RAM free.
Wine: 1.3.27.20110909-1.1
Opensuse 11.4
Here is my plugins command, which shows how much memory my plugins are using according to collectgarbage('count')
Link to Debug Summary: http://pastebin.com/YfqJVVZG
Bast
Bad Image: http://i.imgur.com/9uIvi.png
Good Image: http://i.imgur.com/X5CwM.png
Here is what top showed:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5263 endavis 20 0 2686m 97m 14m S 11 2.5 3:19.39 MUSHclient.exe
I also had over a gig of RAM free.
Wine: 1.3.27.20110909-1.1
Opensuse 11.4
Here is my plugins command, which shows how much memory my plugins are using according to collectgarbage('count')
PluginFunctions v6.1 Plugins List
-----------------------------------------------
Name Vers Cmd/Short Debug Enabled Mem Usage (KB)
-----------------------------------------------------------------------
Aardwolf_BigMap_Graphical 3.00 true
Aardwolf_Chat_Capture_Miniwindow2.00 true
Aardwolf_Chat_Echo 1.00 true
Aardwolf_GMCP_Mapper 2.00 true
Aardwolf_Group_Monitor 2.00 true
Aardwolf_Health_Bars 2.00 true
Aardwolf_Helper_Aliases 1.00 true
Aardwolf_Main_Layout 1.00 true
Aardwolf_New_Connection 1.00 true
Aardwolf_Package_Update_Checker1.00 true
Aardwolf_Planes_Mobs 1461 pl false true 597
Aardwolf_Regen 1461 regen false true 882
Aardwolf_Tick_Timer 1.00 true
Aardwolf_WeaponSwitch 1.10 true
Consider_info 2.00 true
Copy_Colour_Output 1.10 true
GMCP_handler 1.00 true
Miniwindow_Z_Order_Monitor 2.00 true
MobLookup 1461 lm false true 679
PluginFunctions 1461 plugins false true 827
PotionQuafferv2 1.30 true
Repaint_Buffer 1.00 true
StatDB 1461 statdb false true 1203
StatMonitor 1461 statmn false true 795
Summary 1.00 true
bast_hunt 1461 bh false true 995
bast_spellup 1461 bsp false true 2313
fix 1461 fix false true 563
miniwin_double 1461 mdbl false true 583
miniwin_events 1461 mev false true 1145
miniwin_help 1461 mnhelp false true 1319
miniwin_map 1461 mmap false true 1665
miniwin_moonbot 1461 mb false true 905
miniwin_noexp 1461 mnoexp false true 591
miniwin_settings 1461 mnset false true 1346
miniwin_spellup 1461 mspell false true 5841
miniwin_stats 1461 mstat false true 1397
miniwin_tabwin 1461 mtab false true 1026
miniwin_vote 1461 mvote false true 663
smoothTick 1.00 true
xBastmush_Update_Checker 1461 bup false true 1283
xBroadcast_Area 1461 barea false true 1322
xBroadcast_CP 1461 bcp false true 770
xBroadcast_Double 1461 bdbl false true 552
xBroadcast_GQ 1461 bgq false true 1224
xBroadcast_Inventory 1461 binv false true 745
xBroadcast_Kills 1461 bkill false true 1172
xBroadcast_Level 1461 blev true true 1034
xBroadcast_Noexp 1461 bnoexp false true 1056
xBroadcast_Quest 1461 bqu false true 549
xBroadcast_Runto 1461 brunto false true 805
xBroadcast_SpellSkills 1461 bsst false true 1231
xBroadcast_Whois 1461 bwhois false true 563
Link to Debug Summary: http://pastebin.com/YfqJVVZG
Bast
Bear in mind that miniwindows are not directly locked to plugins, except the convention of using the plugin ID in their name. Thus unloading the plugin could still leave the window around.
As a work-around, try putting into the OnPluginClose function a call to delete the miniwindow(s) you use.
Then when the problem occurs, reload the plugin. This should force the miniwindow to be deleted, effectively simulating using a different plugin ID.
As a work-around, try putting into the OnPluginClose function a call to delete the miniwindow(s) you use.
Then when the problem occurs, reload the plugin. This should force the miniwindow to be deleted, effectively simulating using a different plugin ID.
Resurrecting this because with 5.06-pre + Wine I and another linux user get it happening all the time in the aardwolf mapper plugin.
Until I can make a reliable test plugin, here is a set of screenshots: http://imgur.com/a/g6XUv
In all of those images, the miniwindow background color is bright yellow. You can see it in the last image where I've disabled the texture.
Things to note:
Sometimes the whole miniwindow is black.
Sometimes some amount of the top left corner is drawn.
Sometimes some amount of the top somewhere else is drawn.
Hotspots still work.
Resizing still works, but the black areas stay black.
Dragging still works, but the black areas stay black.
WindowCreate still works, but the black areas stay black.
Changing Z order works, but the black areas stay black.
WindowWrite produces an exact replica of what is displayed, black parts and all.
prints 0
Until I can make a reliable test plugin, here is a set of screenshots: http://imgur.com/a/g6XUv
In all of those images, the miniwindow background color is bright yellow. You can see it in the last image where I've disabled the texture.
Things to note:
Sometimes the whole miniwindow is black.
Sometimes some amount of the top left corner is drawn.
Sometimes some amount of the top somewhere else is drawn.
Hotspots still work.
Resizing still works, but the black areas stay black.
Dragging still works, but the black areas stay black.
WindowCreate still works, but the black areas stay black.
Changing Z order works, but the black areas stay black.
WindowWrite produces an exact replica of what is displayed, black parts and all.
WindowSetPixel('b6eae87ccedd84f510b74714_mapper', 50, 50, 65535)
WindowShow('b6eae87ccedd84f510b74714_mapper', false)
WindowShow('b6eae87ccedd84f510b74714_mapper', true)
Repaint()
Redraw()
print(WindowGetPixel('b6eae87ccedd84f510b74714_mapper', 50, 50))prints 0
Hey all,
So I am the other user that has been affected by this. I am hoping we can figure it out! It is oftly annoying to lose a whole window at a time.
I wish I had more information to contribute to this but I don't I was working with fiendish all morning so we could figure the info out that he has.
Best Regards,
So I am the other user that has been affected by this. I am hoping we can figure it out! It is oftly annoying to lose a whole window at a time.
I wish I had more information to contribute to this but I don't I was working with fiendish all morning so we could figure the info out that he has.
Best Regards,
My immediate reaction is that this is some sort of clipping issue. Why it is happening is unclear.
I'm wondering if you have a large monitor and that somehow affects it.
Try a different (eg. earlier) version of Wine.
Please provide a summary of your world configuration:
- Either use the scripting Immediate window (Ctrl+I) to execute: Debug ("summary")
or
- Install the Summary plugin (see "Summary" feature) and type "summary"
Then copy the resulting information from the output window, and paste into a Forum message.
You need version 4.55 onwards of MUSHclient to do this.
I'm wondering if you have a large monitor and that somehow affects it.
Try a different (eg. earlier) version of Wine.
@Teclab85 - are you also using the pre-release version? If so, can you try the latest release version?
http://www.gammon.com.au/forum/?id=13918
The pre-release version is compiled with a totally different version of the compiler.
http://www.gammon.com.au/forum/?id=13918
The pre-release version is compiled with a totally different version of the compiler.
@Fiendish:
A plausible reason for the window failing to draw is lack of RAM. For example, there is another thread about that:
http://www.gammon.com.au/forum/?id=13973
Try making some debugging functions that:
Also try allocating more RAM to Wine if that is possible.
Also check return codes from the functions in the mapper that do the drawing (eg. WindowCircleOp, WindowRectOp, WindowPolygon). I notice that my code doesn't check the return codes - I suppose I assumed that drawing a rectangle would always work.
Don't bother - looking at the C++ code, it doesn't check the return codes for the Windows functions. So if they fail, they fail silently. My best guess at this point would be RAM, which accounts for why the most complex window fails, and the others apparently not.
A plausible reason for the window failing to draw is lack of RAM. For example, there is another thread about that:
http://www.gammon.com.au/forum/?id=13973
Try making some debugging functions that:
- Force Lua garbage collection
- Discard cached rooms from RAM and then force garbage collection
Also try allocating more RAM to Wine if that is possible.
Don't bother - looking at the C++ code, it doesn't check the return codes for the Windows functions. So if they fail, they fail silently. My best guess at this point would be RAM, which accounts for why the most complex window fails, and the others apparently not.
The fault pattern doesn't fit. Systems don't quietly drop individual resources when out of ram, they page or OOM kill processes.
Besides, it happens with MUSHclient using only about 90MB with about 7GB of RAM free. Definitely not out of ram (the memory leak thing doesn't happen to me. I don't often have other plugins loaded except mine.)
It's been reported in different miniwindows before. It's some kind of timing related issue, which is why it's always dependent on plugin load order and impossible to reproduce on a whim.
Whaaat. This isn't Mac OS 7 :)
Besides, it happens with MUSHclient using only about 90MB with about 7GB of RAM free. Definitely not out of ram (the memory leak thing doesn't happen to me. I don't often have other plugins loaded except mine.)
Quote:
which accounts for why the most complex window fails, and the others apparently not.
which accounts for why the most complex window fails, and the others apparently not.
It's been reported in different miniwindows before. It's some kind of timing related issue, which is why it's always dependent on plugin load order and impossible to reproduce on a whim.
Quote:
Also try allocating more RAM to Wine if that is possible.
Also try allocating more RAM to Wine if that is possible.
Whaaat. This isn't Mac OS 7 :)
Quote:
Systems don't quietly drop individual resources when out of ram, they page or OOM kill processes.
Systems don't quietly drop individual resources when out of ram, they page or OOM kill processes.
Not necessarily, for example malloc would return NULL.
Quote:
It's some kind of timing related issue, which is why it's always dependent on plugin load order ...
It's some kind of timing related issue, which is why it's always dependent on plugin load order ...
Oh well, it was worth a try.
I'm still awaiting a response to reply #44.
Nick Gammon said:
@Teclab85 - are you also using the pre-release version? If so, can you try the latest release version?
http://www.gammon.com.au/forum/?id=13918
The pre-release version is compiled with a totally different version of the compiler.
@Teclab85 - are you also using the pre-release version? If so, can you try the latest release version?
http://www.gammon.com.au/forum/?id=13918
The pre-release version is compiled with a totally different version of the compiler.
So I was using the package that Fiendish has which is using 5.05 pre
I changed to 5.05 and it still does it.
How long does this take to manifest itself? If I connect to Aardwolf and walk around, how long will it take for things to go wrong?
There is no set time. Sometimes it happens in the first few minutes, while other times it won't happen for days of the client being open. This only started happening regularly for me since I upgraded from 4.98 to 5.05.
Fiendish said:
Until I can make a reliable test plugin, here is a set of screenshots: http://imgur.com/a/g6XUv
Until I can make a reliable test plugin, here is a set of screenshots: http://imgur.com/a/g6XUv
There seems to be a certain pattern to the size of the area that works:
NMu013N.png - 68 x 23 px
0mQJhhb.png - 68 x 23 px
pSLy3xr.png - 68 x 23 px
rCFSiLL.png - 23 x 22 px
KZ2gWNI.png - 46 x 22 px
That's a fascinating observation.
Let's assume for the moment that 22 is actually 23 and 68 is actually 69, but either measured or drawn off by 1, yeah? That means 23x23 blocks, which is a peculiarly square region but not a power of 2.
Let's assume for the moment that 22 is actually 23 and 68 is actually 69, but either measured or drawn off by 1, yeah? That means 23x23 blocks, which is a peculiarly square region but not a power of 2.
Nick Gammon said:
How long does this take to manifest itself? If I connect to Aardwolf and walk around, how long will it take for things to go wrong?
How long does this take to manifest itself? If I connect to Aardwolf and walk around, how long will it take for things to go wrong?
It's more complicated than that. For me, I need to make sure that the plugins load in a particular order that I know will cause it, otherwise it's much harder to induce.
With the right plugin load order, executing a few speed runs like runto uncharted;runto uncharted;runto uncharted;runto uncharted;runto uncharted;... can cause it to happen within seconds of launch (remember Aardwolf runs are really fast)
The order that lets me reproduce it right now is...
<!-- plugins -->
<include name="aard_text_substitution.xml" plugin="y" />
<include name="aard_prompt_fixer.xml" plugin="y" />
<include name="aard_channels_fiendish.xml" plugin="y" />
<include name="aard_chat_echo.xml" plugin="y" />
<include name="aard_GMCP_handler.xml" plugin="y" />
<include name="aard_layout.xml" plugin="y" />
<include name="aard_statmon_gmcp.xml" plugin="y" />
<include name="aard_group_monitor_gmcp.xml" plugin="y" />
<include name="aard_health_bars_gmcp.xml" plugin="y" />
<include name="aard_Copy_Colour_Codes.xml" plugin="y" />
<include name="aard_repaint_buffer.xml" plugin="y" />
<include name="aard_new_connection.xml" plugin="y" />
<include name="aard_inventory_serials.xml" plugin="y" />
<include name="Hyperlink_URL2.xml" plugin="y" />
<include name="aard_package_update_checker.xml" plugin="y" />
<include name="aard_miniwindow_z_order_monitor.xml" plugin="y" />
<include name="aard_GMCP_mapper.xml" plugin="y" />
<include name="aard_ASCII_map.xml" plugin="y" />
</muclient>
But it's probably system dependent.
Fiendish said:
That's a fascinating observation.
Let's assume for the moment that 22 is actually 23 and 68 is actually 69, but either measured or drawn off by 1, yeah?
That's a fascinating observation.
Let's assume for the moment that 22 is actually 23 and 68 is actually 69, but either measured or drawn off by 1, yeah?
My measurements were accurate, but the repetition of sizes does imply that somewhere something is setting up a clipping region of that size (or those sizes). Perhaps a previous plugin in the plugin sequence.
@Fiendish:
If you can reliably reproduce the problem, please try this ...
In aardmapper.lua, inside function "draw" delete the miniwindow before creating it (around line 803).
That is:
This should more aggressively remove the resources used by the previously drawn map window. That may help resolve the issue.
@Teclab85 - you could try this yourself if you are happy using a text editor to make that change.
If you can reliably reproduce the problem, please try this ...
In aardmapper.lua, inside function "draw" delete the miniwindow before creating it (around line 803).
That is:
WindowDelete (win) -- <------------- add this
WindowCreate (win, -- <------------- before this
This should more aggressively remove the resources used by the previously drawn map window. That may help resolve the issue.
@Teclab85 - you could try this yourself if you are happy using a text editor to make that change.
I will add it, I am fairly competent with a text editor.
Fun fact I learned the other day that seems to be common knowledge.
Using the in client text editor crashes the whole client when running it with wine. It happens when you switch the windows. Reliably it happens not when you open the text editor but when you switch back to the main mud window.
Nice error. Heh, this is what I got when I tried that. To late in the evening to worry about it. I just thought I would share.
Run-time error
Plugin: Aardwolf_GMCP_Mapper (called from world: Aardwolf)
Function/Sub: OnPluginBroadcast called by Plugin Aardwolf_GMCP_Mapper
Reason: Executing plugin Aardwolf_GMCP_Mapper sub OnPluginBroadcast
H:\Desktop\Link to MUSHclient\lua\aardmapper.lua:823: attempt to perform arithmetic on local 'iwidth' (a nil value)
stack traceback:
H:\Desktop\Link to MUSHclient\lua\aardmapper.lua:823: in function 'draw'
[string "Plugin: Aardwolf_GMCP_Mapper"]:2755: in function 'got_gmcp_room'
[string "Plugin: Aardwolf_GMCP_Mapper"]:2866: in function <[string "Plugin: Aardwolf_GMCP_Mapper"]:2854>
Fun fact I learned the other day that seems to be common knowledge.
Using the in client text editor crashes the whole client when running it with wine. It happens when you switch the windows. Reliably it happens not when you open the text editor but when you switch back to the main mud window.
Nice error. Heh, this is what I got when I tried that. To late in the evening to worry about it. I just thought I would share.
Run-time error
Plugin: Aardwolf_GMCP_Mapper (called from world: Aardwolf)
Function/Sub: OnPluginBroadcast called by Plugin Aardwolf_GMCP_Mapper
Reason: Executing plugin Aardwolf_GMCP_Mapper sub OnPluginBroadcast
H:\Desktop\Link to MUSHclient\lua\aardmapper.lua:823: attempt to perform arithmetic on local 'iwidth' (a nil value)
stack traceback:
H:\Desktop\Link to MUSHclient\lua\aardmapper.lua:823: in function 'draw'
[string "Plugin: Aardwolf_GMCP_Mapper"]:2755: in function 'got_gmcp_room'
[string "Plugin: Aardwolf_GMCP_Mapper"]:2866: in function <[string "Plugin: Aardwolf_GMCP_Mapper"]:2854>
Yes I see what you mean. Never mind, scratch that idea.
Leaving myself some more notes...
http://imgur.com/a/oodWq
Being somehow maybe timing related, it's hard to know whether deleting the mw each time fixes it or just changes the timing, but it definitely would mean reloading graphics and fonts like a dozen times per second. :\
http://imgur.com/a/oodWq
Being somehow maybe timing related, it's hard to know whether deleting the mw each time fixes it or just changes the timing, but it definitely would mean reloading graphics and fonts like a dozen times per second. :\
More notes.
I've found an old newsgroup thread that describes something I'm seeing in debugging, though it doesn't suggest a real cause or a _great_ solution, and their retry workaround doesn't work for me.
http://microsoft.public.vc.mfc.narkive.com/lKkH8Gs7/cdc-selectobject-failure-reason
I've found an old newsgroup thread that describes something I'm seeing in debugging, though it doesn't suggest a real cause or a _great_ solution, and their retry workaround doesn't work for me.
http://microsoft.public.vc.mfc.narkive.com/lKkH8Gs7/cdc-selectobject-failure-reason
That thread seems to be talking about an occasional failure, whereas from what you describe once it fails it keeps failing.
I still think a clipping region problem sounds more likely.
I still think a clipping region problem sounds more likely.
I've made a change that may possibly help. When you do a CreateWindow you now get a new device context. This should discard anything that has been corrupted in the earlier one.
See http://www.gammon.com.au/forum/?id=13903 for how to grab a copy of the new version of the executable.
Please let me know if this fixes the problem or not.
Change details here:
https://github.com/nickgammon/mushclient/commit/1f98833
See http://www.gammon.com.au/forum/?id=13903 for how to grab a copy of the new version of the executable.
Please let me know if this fixes the problem or not.
Change details here:
https://github.com/nickgammon/mushclient/commit/1f98833
Seems good for me so far. I'm still waiting to hear back from some other players.