Jump to content
bigdamnhero

HD is locking up on me?

Recommended Posts

Yesterday HD was working fine. I don't think I made any system changes, but today it's locking up on me. It opens fine, I can open character files, switch tabs, change characteristics, no problem. But when I try to open a Skill, Power or Complication, it completely freezes up before anything can open. Happens whether I double-click, or if I select it with the Enter key. I have to use Task Manager to close it out. I downloaded & installed the latest HD version, and even reinstalled Java, but no change. It doesn't sound like an HD bug, but I'm hoping someone might have some ideas?

 

Running HD Build 20171119

Windows 10 laptop

Java v8, Update 151 (build 1.8.0_151-b12)

Share this post


Link to post
Share on other sites

All dialogs in HD (including the edit dialogs) are modal -- they will take and retain focus until dismissed (or another dialog is raised in front of them). Additionally, they will "remember" their last position on screen and size.  Normally this is a feature, but if a dialog gets positioned offscreen (or screen size changes), it can lead to what you're seeing.

 

Shutdown HD and delete the AppPrefs.xml file -- you should be good to go after that.

Share this post


Link to post
Share on other sites

I'm assuming by "reasonably responsive" you mean that HD is not locking up on you, just slowing down.  If that's the case, look to the number of files (particularly prefabs) that you have open at any given time.  Too many, and there's a LOT of processing that HD has to perform anytime something changes in the current character in order to keep the prefabs up to date.

Share this post


Link to post
Share on other sites

Correct - HD gets very slow -- we're talking as much as 1 minute just to change from the Basic Info tab to the Background tab.  It seems to be much, much worse when I'm on a 24" 1920x1080 display than when I'm using a smaller display with a lower resolution and PPI.

 

As for the number of open files and prefabs -- how/where would I check?  I googled "hero designer prefabs" and didn't come up with anything that might provide guidance.  (I have only the stock tabs open .... and am not using the result of the prefab creator, at all -- if that's what you meant.)

Share this post


Link to post
Share on other sites

Post the trace.log file (or the contents of it) after the problem occurs -- it will show the number of open files as well as other info (like the memory on your system and how much is being allotted to HD)

Share this post


Link to post
Share on other sites

Alrighty, this time HD was so unresponsive that clicking on things within the HD UI did nothing for ~8 minutes (yup, it took that long to respond) -- while Java steadily consumed 28-32% of my system CPU (which was only loaded to 33-36%) ... with only HD using Java.  The high CPU utilization of Java is something I've seen before .... specifically when opening Task Manager to kill HD prior to purging AppPrefs.xml because HD is misbehaving. 

 

Were I just trying to use HD rather than investigate the problem, I'd likely have considered HD 'unresponsive' and killed/closed it long before it had a chance to complete whatever it was doing that had Java chewing up so much CPU.  I did eventually end up killing Java via Task Manager after waiting about 10 mins.  After doing so I deleted AppPrefs.xml and re-started HD, which resolved the problem completely (as usual).  Observation via Task Manager after deleting AppPrefs.xml and then re-cranking HD showed Java consuming 0.1% of CPU ... which spiked to 6% very briefly when I maximized the HD window ... and then promptly fell back to 0% with flux to 0.1% while HD sitting in the background.  (I couldn't both use HD and monitor its CPU usage while using it, of course.)

 

In case it helps, Task Manager shows Java eating 99MB of memory ... when the problem manifests ... as well as after I kill Java, purge AppPrefs.xml, and re-crank HD.  i.e. Memory seems not to be an issue or a symptom; the tell-tale sign seems to be high CPU usage while HD/Java sit there chewing on something.

 

As requested, here are the contents of the trace.log file taken PRIOR to deletion of AppPrefs.xml (i.e. during the problematic usage -- where HD was causing Java to eat a pile of CPU while it sat and spun) ... with a few required redactions ...for privacy preservation reasons.

-----

HERO Designer 6 log file (build 20171119)
args[0] = 24
Current system properties: 
     java.runtime.name = Java(TM) SE Runtime Environment
     sun.boot.library.path = C:\Program Files (x86)\Java\jre1.8.0_151\bin
     java.vm.version = 25.151-b12
     java.vm.vendor = Oracle Corporation
     java.vendor.url = http://java.oracle.com/
     path.separator = ;
     java.vm.name = Java HotSpot(TM) Client VM
     file.encoding.pkg = sun.io
     user.country = US
     user.script =
     sun.java.launcher = SUN_STANDARD
     sun.os.patch.level =
     java.vm.specification.name = Java Virtual Machine Specification
     user.dir = C:\Users\REDACTED\REDACTED2\HeroDesigner
     java.runtime.version = 1.8.0_151-b12
     java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
     java.endorsed.dirs = C:\Program Files (x86)\Java\jre1.8.0_151\lib\endorsed
     os.arch = x86
     java.io.tmpdir = C:\Users\REDACTED\AppData\Local\Temp\
     line.separator =
     java.vm.specification.vendor = Oracle Corporation
     user.variant =
     os.name = Windows 10
     sun.jnu.encoding = Cp1252
     java.library.path = C:\Program Files (x86)\Java\jre1.8.0_151\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\ProgramData\Lenovo\ReadyApps;C:\Users\REDACTED\AppData\Local\Microsoft\WindowsApps;;.
     sun.awt.enableExtraMouseButtons = true
     java.specification.name = Java Platform API Specification
     java.class.version = 52.0
     sun.management.compiler = HotSpot Client Compiler
     os.version = 10.0
     user.home = C:\Users\REDACTED
     user.timezone =
     java.awt.printerjob = sun.awt.windows.WPrinterJob
     file.encoding = Cp1252
     java.specification.version = 1.8
     java.class.path = C:\Users\REDACTED\REDACTED2\HeroDesigner\HD6.jar
     user.name = REDACTED
     java.vm.specification.version = 1.8
     sun.java.command = com.hero.HeroDesigner 24
     java.home = C:\Program Files (x86)\Java\jre1.8.0_151
     sun.arch.data.model = 32
     user.language = en
     java.specification.vendor = Oracle Corporation
     awt.toolkit = sun.awt.windows.WToolkit
     java.vm.info = mixed mode, sharing
     swing.defaultlaf = com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
     java.version = 1.8.0_151
     java.ext.dirs = C:\Program Files (x86)\Java\jre1.8.0_151\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
     sun.boot.class.path = C:\Program Files (x86)\Java\jre1.8.0_151\lib\resources.jar;C:\Program Files (x86)\Java\jre1.8.0_151\lib\rt.jar;C:\Program Files (x86)\Java\jre1.8.0_151\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jre1.8.0_151\lib\jsse.jar;C:\Program Files (x86)\Java\jre1.8.0_151\lib\jce.jar;C:\Program Files (x86)\Java\jre1.8.0_151\lib\charsets.jar;C:\Program Files (x86)\Java\jre1.8.0_151\lib\jfr.jar;C:\Program Files (x86)\Java\jre1.8.0_151\classes
     java.vendor = Oracle Corporation
     file.separator = \
     java.vendor.url.bug = http://bugreport.sun.com/bugreport/
     sun.io.unicode.encoding = UnicodeLittle
     sun.cpu.endian = little
     sun.desktop = windows
     sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
Loading new character/prefab:  Wed, Dec 20 @12:26:01 AM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 30.94MB (total), 16.12MB (free) = 14.81MB (used)
Set Template:  Wed, Dec 20 @12:26:01 AM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 30.94MB (total), 16.12MB (free) = 14.81MB (used)
Starting Character Open...:  Wed, Dec 20 @12:26:01 AM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 30.94MB (total), 12.18MB (free) = 18.75MB (used)
Loading file C:\Users\REDACTED\REDACTED2\HeroDesigner\Generic Character.hdc:  Wed, Dec 20 @12:26:01 AM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 30.94MB (total), 12.00MB (free) = 18.94MB (used)
Set Template:  Wed, Dec 20 @12:26:01 AM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 30.94MB (total), 6.72MB (free) = 24.22MB (used)
Changed Characters:  Wed, Dec 20 @12:26:02 AM (-0500) build 20171119 Memory Usage (1 characters, 0 prefabs): 46.86MB (total), 18.85MB (free) = 28.01MB (used)
Open Character:  Wed, Dec 20 @12:26:02 AM (-0500) build 20171119 Memory Usage (1 characters, 0 prefabs): 46.86MB (total), 13.23MB (free) = 33.63MB (used)
Done Opening Character:  Wed, Dec 20 @12:26:02 AM (-0500) build 20171119 Memory Usage (1 characters, 0 prefabs): 46.86MB (total), 13.17MB (free) = 33.69MB (used)

Share this post


Link to post
Share on other sites

Most likely problem: you are running a 32-bit version of Java on a 64-bit system. If you're not using it for anything else, I'd recommend uninstalling all copies of Java from your system and then reinstalling a 64-bit version directly from Java.com

Share this post


Link to post
Share on other sites

True enough, I am running the 32-bit version of Java on a 64-bit system.  While I have had no issue of this sort using HD with that configuration (on this same system) in the past ... I will switch to the 64-bit version to either resolve the issue ... or rule out the 32/64-bit concern.

Share this post


Link to post
Share on other sites

OK, so following the de-installation of the 32-bit version of Java followed by a reboot ... I installed the 64-bit version and .... no love.  The issue persists ... but we do get a more interesting/detailed error message in the trace.log file (Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space) ... despite the entries that precede it within the log suggesting we're nowhere near the allocated 64MB of memory as 'strongly recommended' for HD (within HD's General Preferences tab).  Also worthy of note is that running the 64-bit version is even less responsive than the 32-bit version ... probably because an exception was thrown instead of sitting/spinning on high CPU usage.  (Checking CPU usage, it is a steady 0% ... despite the interface to HD being dead as a doornail most probably as a result of the exception.)

 

Thoughts?

 

Here's the trace log:

------

HERO Designer 6 log file (build 20171119)
args[0] = 24
Current system properties: 
     java.runtime.name = Java(TM) SE Runtime Environment
     sun.boot.library.path = C:\Program Files\Java\jre1.8.0_151\bin
     java.vm.version = 25.151-b12
     java.vm.vendor = Oracle Corporation
     java.vendor.url = http://java.oracle.com/
     path.separator = ;
     java.vm.name = Java HotSpot(TM) 64-Bit Server VM
     file.encoding.pkg = sun.io
     user.country = US
     user.script =
     sun.java.launcher = SUN_STANDARD
     sun.os.patch.level =
     java.vm.specification.name = Java Virtual Machine Specification
     user.dir = C:\Users\REDACTED\REDACTED2\HeroDesigner
     java.runtime.version = 1.8.0_151-b12
     java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
     java.endorsed.dirs = C:\Program Files\Java\jre1.8.0_151\lib\endorsed
     os.arch = amd64
     java.io.tmpdir = C:\Users\REDACTED\AppData\Local\Temp\
     line.separator =
     java.vm.specification.vendor = Oracle Corporation
     user.variant =
     os.name = Windows 10
     sun.jnu.encoding = Cp1252
     java.library.path = C:\Program Files\Java\jre1.8.0_151\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\ProgramData\Lenovo\ReadyApps;C:\Users\REDACTED\AppData\Local\Microsoft\WindowsApps;;.
     sun.awt.enableExtraMouseButtons = true
     java.specification.name = Java Platform API Specification
     java.class.version = 52.0
     sun.management.compiler = HotSpot 64-Bit Tiered Compilers
     os.version = 10.0
     user.home = C:\Users\REDACTED
     user.timezone =
     java.awt.printerjob = sun.awt.windows.WPrinterJob
     file.encoding = Cp1252
     java.specification.version = 1.8
     java.class.path = C:\Users\REDACTED\REDACTED2\HeroDesigner\HD6.jar
     user.name = REDACTED
     java.vm.specification.version = 1.8
     sun.java.command = com.hero.HeroDesigner 24
     java.home = C:\Program Files\Java\jre1.8.0_151
     sun.arch.data.model = 64
     user.language = en
     java.specification.vendor = Oracle Corporation
     awt.toolkit = sun.awt.windows.WToolkit
     java.vm.info = mixed mode
     swing.defaultlaf = com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
     java.version = 1.8.0_151
     java.ext.dirs = C:\Program Files\Java\jre1.8.0_151\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
     sun.boot.class.path = C:\Program Files\Java\jre1.8.0_151\lib\resources.jar;C:\Program Files\Java\jre1.8.0_151\lib\rt.jar;C:\Program Files\Java\jre1.8.0_151\lib\sunrsasign.jar;C:\Program Files\Java\jre1.8.0_151\lib\jsse.jar;C:\Program Files\Java\jre1.8.0_151\lib\jce.jar;C:\Program Files\Java\jre1.8.0_151\lib\charsets.jar;C:\Program Files\Java\jre1.8.0_151\lib\jfr.jar;C:\Program Files\Java\jre1.8.0_151\classes
     java.vendor = Oracle Corporation
     file.separator = \
     java.vendor.url.bug = http://bugreport.sun.com/bugreport/
     sun.io.unicode.encoding = UnicodeLittle
     sun.cpu.endian = little
     sun.desktop = windows
     sun.cpu.isalist = amd64
Set Template:  Wed, Dec 20 @1:33:42 PM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 39.50MB (total), 14.37MB (free) = 25.13MB (used)
Loading new character/prefab:  Wed, Dec 20 @1:33:42 PM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 39.50MB (total), 14.37MB (free) = 25.13MB (used)
Starting Character Open...:  Wed, Dec 20 @1:33:43 PM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 36.00MB (total), 18.98MB (free) = 17.02MB (used)
Loading file C:\Users\REDACTED\REDACTED2\HeroDesigner\Generic Character.hdc:  Wed, Dec 20 @1:33:43 PM (-0500) build 20171119 Memory Usage (0 characters, 0 prefabs): 36.00MB (total), 18.85MB (free) = 17.15MB (used)
Changed Characters:  Wed, Dec 20 @1:33:44 PM (-0500) build 20171119 Memory Usage (1 characters, 0 prefabs): 47.00MB (total), 20.03MB (free) = 26.97MB (used)
Open Character:  Wed, Dec 20 @1:33:44 PM (-0500) build 20171119 Memory Usage (1 characters, 0 prefabs): 47.50MB (total), 24.87MB (free) = 22.63MB (used)
Done Opening Character:  Wed, Dec 20 @1:33:44 PM (-0500) build 20171119 Memory Usage (1 characters, 0 prefabs): 47.50MB (total), 24.81MB (free) = 22.69MB (used)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
 at java.awt.image.DataBufferInt.<init>(Unknown Source)
 at java.awt.image.Raster.createPackedRaster(Unknown Source)
 at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
 at java.awt.GraphicsConfiguration.createCompatibleImage(Unknown Source)
 at java.awt.GraphicsConfiguration.createCompatibleImage(Unknown Source)
 at sun.awt.image.SunVolatileImage.getBackupImage(Unknown Source)
 at sun.awt.image.VolatileSurfaceManager.getBackupSurface(Unknown Source)
 at sun.awt.image.VolatileSurfaceManager.initialize(Unknown Source)
 at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
 at sun.awt.image.SunVolatileImage.<init>(Unknown Source)
 at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(Unknown Source)
 at java.awt.GraphicsConfiguration.createCompatibleVolatileImage(Unknown Source)
 at javax.swing.RepaintManager.getVolatileOffscreenBuffer(Unknown Source)
 at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
 at javax.swing.RepaintManager.paint(Unknown Source)
 at javax.swing.JComponent.paint(Unknown Source)
 at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
 at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
 at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
 at java.awt.Container.paint(Unknown Source)
 at java.awt.Window.paint(Unknown Source)
 at javax.swing.RepaintManager$4.run(Unknown Source)
 at javax.swing.RepaintManager$4.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
 at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
 at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
 at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
 at javax.swing.RepaintManager.access$1200(Unknown Source)
 at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
 at java.awt.event.InvocationEvent.dispatch(Unknown Source)
 at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

Share this post


Link to post
Share on other sites

Direct cause is most likely an overly-large image being assigned to the character (based on the stack trace), but that's just the direct cause of the out of memory error -- the underlying issue points to Java not being given enough memory to operate (64MB is a rather dated max).

 

Try the following from a command line to see if the issue is resolved with a memory adjustment:

 

1. Open a command prompt and cd to the directory that  you have HD installed in (the one with HD6.jar)

2. Enter the following:

java -Xmx1024m -Xms256m -jar HD6.jar

That will start Java with an initial heap size of 256MB and a maximum of 1GB

Share this post


Link to post
Share on other sites

Interestingly, I suspected an image might have something to do with it, so tried a character that had no image set for it ... and got the same error (Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space)  ... so I doubt it's the assignment of an image that's the root cause.

 

Also, I just tried your command-line and also got the same error (Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space).

 

 

Share this post


Link to post
Share on other sites

Derp.  I forgot about the trickery under Windows that allows for user-specified increased memory.  The command I gave above will work on any system except Windows.  Under windows, it will just increase the memory available to the launcher.

 

Increase the memory available to HD under the preferences screen (general tab).  Set it to 256MB for now and see if the error repeats.

 

One way or another, your system is having issues with Java (outside of HD) -- we're just seeing if we can bypass them for now.

Share this post


Link to post
Share on other sites

Setting it to 256MB addressed the issue ... despite HD showing 63.8MB of memory use (which is less than the previously-allocated 64MB).  I backed it down to 128MB and that appears to be working well enough, so I'll leave it there.

 

What's got me baffled is that I didn't have this problem until recently despite using HD for years.  Thus, the only things I can see as potentially causative (since they are the recent changes with the potential for impact) are:

  • Use of the latest (Nov 19) HD version
  • Use of the latest (1.8.0_151) JRE version
  • Some combination of the two.

Regardless, it's addressed.  Thanks for stepping me through the troubleshooting to find a fix.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×