Gammon Forum
Entire forum
MUSHclient
Miniwindows
Miniwindow goes black
It is now over 60 days since the last post. This thread is closed.
  Refresh page
Pages: 1
2
3
4 5
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #45 on Mon 03 Apr 2017 08:08 PM (UTC) |
Message
| @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:
- 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.
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. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Fiendish
USA (2,514 posts) bio
Global Moderator |
Date
| Reply #46 on Mon 03 Apr 2017 09:50 PM (UTC) Amended on Mon 03 Apr 2017 09:52 PM (UTC) by Fiendish
|
Message
| 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.)
Quote: 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.
Whaaat. This isn't Mac OS 7 :) |
https://github.com/fiendish/aardwolfclientpackage | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #47 on Mon 03 Apr 2017 10:09 PM (UTC) |
Message
|
Quote:
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 ...
Oh well, it was worth a try. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #48 on Tue 04 Apr 2017 12:41 AM (UTC) |
Message
| I'm still awaiting a response to reply #44. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Teclab85
(16 posts) bio
|
Date
| Reply #49 on Tue 04 Apr 2017 12:51 AM (UTC) |
Message
|
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.
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. | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #50 on Tue 04 Apr 2017 12:52 AM (UTC) |
Message
| 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? |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Teclab85
(16 posts) bio
|
Date
| Reply #51 on Tue 04 Apr 2017 12:54 AM (UTC) |
Message
| 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. | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #52 on Tue 04 Apr 2017 02:16 AM (UTC) |
Message
|
Fiendish said:
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
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Fiendish
USA (2,514 posts) bio
Global Moderator |
Date
| Reply #53 on Tue 04 Apr 2017 07:06 AM (UTC) Amended on Tue 04 Apr 2017 07:27 AM (UTC) by Fiendish
|
Message
| 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. |
https://github.com/fiendish/aardwolfclientpackage | top |
|
Posted by
| Fiendish
USA (2,514 posts) bio
Global Moderator |
Date
| Reply #54 on Tue 04 Apr 2017 07:10 AM (UTC) Amended on Tue 04 Apr 2017 07:18 AM (UTC) by Fiendish
|
Message
|
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?
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. |
https://github.com/fiendish/aardwolfclientpackage | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #55 on Tue 04 Apr 2017 08:41 PM (UTC) |
Message
|
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?
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. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #56 on Thu 06 Apr 2017 12:48 AM (UTC) |
Message
| @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:
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. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Teclab85
(16 posts) bio
|
Date
| Reply #57 on Thu 06 Apr 2017 12:53 AM (UTC) Amended on Thu 06 Apr 2017 01:00 AM (UTC) by Teclab85
|
Message
| 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> | top |
|
Posted by
| Nick Gammon
Australia (22,975 posts) bio
Forum Administrator |
Date
| Reply #58 on Thu 06 Apr 2017 01:39 AM (UTC) |
Message
| Yes I see what you mean. Never mind, scratch that idea. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
Posted by
| Fiendish
USA (2,514 posts) bio
Global Moderator |
Date
| Reply #59 on Fri 05 May 2017 04:27 PM (UTC) Amended on Fri 05 May 2017 04:28 PM (UTC) by Fiendish
|
Message
| 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. :\ |
https://github.com/fiendish/aardwolfclientpackage | top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
147,429 views.
This is page 4, subject is 5 pages long:
1
2
3
4 5
It is now over 60 days since the last post. This thread is closed.
  Refresh page
top
Quick links:
MUSHclient.
MUSHclient help.
Forum shortcuts.
Posting templates.
Lua modules.
Lua documentation.
Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.