[Home] [Downloads] [Search] [Help/forum]

Gammon Forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  Miniwindows
. . -> [Subject]  Miniwindow goes black
Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?

Miniwindow goes black

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page


Pages: 1  2  3  4 5  

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Fiendish   USA  (1,641 posts)  [Biography] 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
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Teclab85   (15 posts)  [Biography] 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.
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Teclab85   (15 posts)  [Biography] 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.
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Fiendish   USA  (1,641 posts)  [Biography] 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
[Go to top] top

Posted by Fiendish   USA  (1,641 posts)  [Biography] 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
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Teclab85   (15 posts)  [Biography] 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>
[Go to top] top

Posted by Nick Gammon   Australia  (21,321 posts)  [Biography] 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
[Go to top] top

Posted by Fiendish   USA  (1,641 posts)  [Biography] 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
[Go to top] 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.


27,472 views.

This is page 4, subject is 5 pages long:  [Previous page]  1  2  3  4 5  [Next page]

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] 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.

[Home]


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at FutureQuest]