Create account / Log in

What needs t o be resolved before 3.2.0?

Discussion area for the development team.

Moderators: Tim M, uckelman

Re: What needs t o be resolved before 3.2.0?

Postby uckelman » October 2nd, 2012, 11:28 pm

Thus spake mroyer:
> I copied it from the errorLog file in the roaming folder.
>
> I am unaware of the errorLog window in the ModuleManager.

Look in the Help menu.

> is the missing info recoverable?

I don't see how the missing lines could possibly be missing. Are you
sure you copied the complete contents of the file?

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8137
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » October 3rd, 2012, 1:34 am

I didn't copy contents of the file at all. I simply renamed the file from errorLog to errorLog.txt (so the forums would allow upload - it won't allow un-extensioned files to be uploaded). I never touched the contents.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » October 3rd, 2012, 1:35 am

Also, I've found the ModuleManager errorLog window. If it happens again, I'll be very careful and check both the file and the window and post here.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby uckelman » October 3rd, 2012, 10:17 am

I looked again at the errorLog you posted, and what it shows is that the Module Manager ran for about 4 seconds, and then exited. There's nothing missing---it's just not the error log from the run where you ran out of memory. The errorLog is overwritten each time you start VASSAL, so when there's a problem, you have to grab it before starting VASSAL again.
User avatar
uckelman
Site Admin
 
Posts: 8137
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » October 4th, 2012, 1:05 am

uckelman wrote:I looked again at the errorLog you posted, and what it shows is that the Module Manager ran for about 4 seconds, and then exited. There's nothing missing---it's just not the error log from the run where you ran out of memory. The errorLog is overwritten each time you start VASSAL, so when there's a problem, you have to grab it before starting VASSAL again.



Alright. I hadn't opened another VASSAL module after the Memory error, but I very well might have fired off the module manager. :(

I'll be more careful next time it happens. It's rare enough it may not happen again for a while.

-Mark R.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » November 26th, 2012, 1:43 pm

mroyer wrote:I still think there's a memory-leak problem in 3.2 related to unloading image tiles and with large modules eventually causes problems.


I think I've finally isolated this issue.

If I scroll around, zoom in and out, until the java.exe has consumed it's entire heap allocation, then I set the zoom level to 100% or higher (maybe this is related to the size of a tile vs the size of the visible image?) and set the map window to straddle the boundary between two large map images such that a portion of each map is visible, the tiles never stop re-painting themselves causing the map image tiles to blink and flash endlessly (and occasionally, after a while, throw an exception/eek bug). If I reduce the image size to less than 100% (75% in my case) and/or move the window off the map boundary, the flashing/blinking stops and the map repaints itself correctly and only once (at least that I can see).

I can reproduce the blinking-symptom at will now that I know root mechanism.

(The issue can probably be reproduced separately, but just in case I've posted the module that I used to cause the issue here: https://dl.dropbox.com/u/24119799/WAA.zip
It's 83 MB, just FYI. Run it in v3.2 and set up at least two of the six map segments to reproduce the issue.)

-Mark R.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby uckelman » November 26th, 2012, 9:02 pm

Thus spake mroyer:
>
> "mroyer" wrote:
> > I still think there's a memory-leak problem in 3.2 related to
> > unloading image tiles and with large modules eventually causes
> > problems.
>
>
> I think I've finally isolated this issue.
>
> If I scroll around, zoom in and out, until the java.exe has consumed
> it's entire heap allocation, then I set the zoom level to 100% or higher
> (maybe this is related to the size of a tile vs the size of the visible
> image?) and set the map window to straddle the boundary between two
> large map images such that a portion of each map is visible, the tiles
> never stop re-painting themselves causing the map image tiles to blink
> and flash endlessly (and occasionally, after a while, throw an
> exception/eek bug). If I reduce the image size to less than 100% (75%
> in my case) and/or move the window off the map boundary, the
> flashing/blinking stops and the map repaints itself correctly and only
> once (at least that I can see).

To what do you have your max heap set?

The most likely reason this is happening is that the image cache is being
cleared before what's on your screen is finished painting, which triggers
reloading those same images during the next repaint cycle, which again
causes the cache to clear partway through.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8137
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » November 26th, 2012, 10:25 pm

I've tried setting the max heap to a bunch of different sizes from time to time. I had it at 512 MB for quite a while. It happens to be set at 1024 MB at the moment.

-Mark R.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby uckelman » November 27th, 2012, 3:53 pm

Thus spake mroyer:
> I've tried setting the max heap to a bunch of different sizes from time
> to time. I had it at 512 MB for quite a while. It happens to be set at
> 1024 MB at the moment.
>

I found the cause of the problem. The ImageOp for the 1.0-scale board
image was getting the wrong path to the board image, which caused the
tile cache lookup to fail. When that happens, we check the images
directory in the module to see if we can find the full image there. (The
reason for doing this is that you might be using the editor and have
just added the image, so it wouldn't yet be tiled.) The cache check
appends "image/" to the image path, while for historic reasons, the
in-module check does not, and takes care of it somewhere else. This a
bad state of affairs, and you found one of the cases where the
inconsistency between the two path conventions causes bad behavior.

What's happening in your case is that we get the the correct tiles for
every scale factor *other* than 1.0. For 1.0, we don't find the tiles,
but we do find your colossal images, and we also know how to tile
images in memory, so we try that, rather than failing outright. So 1.0
scale factor works, but slowly, so long as all the tiles on screen are
from the same image. What happens when you scroll to the boundary
between two images at 1.0 scale factor is that a request goes out to
load the second map image in order to make tiles from it in memory. Your
map images are so large that only one fits in the JVM heap at a time,
so as soon as the second image starts to load, the first one and its
tiles get kicked out of the in-memory image cache. If you don't scroll
away, the next repaint send out a request for the tiles from the first
map, which causes the first map to be reloaded, which kicks the second
map and its tiles out of the cache. This will cycle forever if you let
it.

Try 3.2.0-svn8434, which I believe corrects the problem:

http://www.vassalengine.org/~uckelman/builds/

Thanks for being persistent about this; as you can see, the cause was
rather subtle.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8137
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » November 27th, 2012, 4:28 pm

uckelman wrote:Thanks for being persistent about this; as you can see, the cause was
rather subtle.


Thanks. But, even more, thank YOU for figuring this all out!
I'll give the new build a go - perhaps this evening.

I knew the huge maps would push on corner cases, so I'm glad they were part of the v3.2 beta testing.

-Mark R.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » November 28th, 2012, 2:29 am

Gave it a quick go... feelin' sweet! No evidence of the old problem at all. More, the repaint seems generally snappier - is that possible or just wishful thinking on my part?

-Mark R.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Re: What needs t o be resolved before 3.2.0?

Postby uckelman » November 28th, 2012, 10:27 am

Thus spake mroyer:
> Gave it a quick go... feelin' sweet! No evidence of the old problem at
> all. More, the repaint seems generally snappier - is that possible or
> just wishful thinking on my part?

Repaint at 1:1 is definitely swifter, since it's using the tile cache
now, whereas it inadvertantly wasn't before.

--
J.
User avatar
uckelman
Site Admin
 
Posts: 8137
Joined: December 10th, 2007, 9:48 am
Location: Durham, England

Re: What needs t o be resolved before 3.2.0?

Postby mroyer » November 30th, 2012, 3:29 am

Just thought I'd pass along the following sent to me today from one of my module play-testers regarding the most recent VASSAL build.

-Mark R.

Loaded the "NEW" VASSAL a few minutes ago. What a difference!

Before, I kept the display at 75% in order to avoid the "white" snow that would occur with a major scroll attempt.

Now, have the display set at 100% and can scroll any where on the map, without any delay, while waiting for the map to catch up to the scroll.

Also, couldn't zoom into the higher powers without ending up with a "white" snow screen result...which never became anything else...it stayed "white" snow" Now, I have access to the higher percentage zooms and easier viewing!

The VASSAL BOYS did an outstanding job! I think their efforts quiet our concern about taking too much time to scroll around the map during "long" scrolls.

The new VASSAL works well on my laptop. FYI, any benchmark comparison that you may need to make is that my laptop is an HP Pavilion g7-1075 dx notebook...what ever the hell that is.

Zipping around with this new version reminds me of my teenage years and fast cars.
mroyer
 
Posts: 166
Joined: March 4th, 2011, 5:06 pm
Location: Massachusetts

Previous

Return to Developers

Who is online

Users browsing this forum: No registered users and 0 guests