"Uncaught exception" error across multiple modules

  • VASSAL 3.7.7
  • MacOS Ventura 32GB RAM
  • I am having a graphics issue leading to freezing and generating an “Uncaught exception” error across multiple modules. The Vassal error text is not viewable nor are any of the “Yes/No/Cancel” options. Not sure if there’s a way for me to capture the error details.


Screenshot 2024-02-01 at 8.27.50 AM

Here’s info about where the error log itself resides in MacOS.

I appreciate the reply; yes I cannot find that folder on my mac.

~/Library/Application Support/VASSAL has to exist. Have you tried looking for it from a terminal?

E.g., open a terminal and at the prompt type:

cd "~/Library/Application Support/VASSAL"

and then

ls

What do you get for output?

I think I’m in the wrong place?
Screenshot 2024-02-01 at 4.57.02 PM

You’re not running the commands as stated above. You need to enter the commands exactly.

What you typed,

/Library/Application Support/VASSAL

is not the same thing as

cd "~/Library/Application Support/VASSAL"

Please try again.

1 Like

My experience with the command prompt goes back to 1980s BASIC programming class but it’s been a few… decades

What’s the result of

cd "~/Library/Application Support"

followed by

ls

?

This actually won’t work for some reason. It won’t replace the ~ with his home directory path when inside the quotes (tried this myself to verify). Assuming @ScipioO is starting out in his home directory (which should be the default), this will work:

cd "Library/Application Support/VASSAL"

Then to open this location with the Finder:
open .
(for clarity, this is the word open followed by a space and then a single period)

You should find a file named errorLog. It is a plain text file, so you can open it with TextEdit, an app found on every Mac.

1 Like
  1. Is this the complete errorLog?
  2. Did you experience the problem on the most recent run of Vassal before you pasted the contents of the errorLog here?

I suspect I know the cause of the graphics problem, from this:

+[CATransaction synchronize] called within transaction

There’s a bug in MacOS Ventura 13, detailed here, here, here, and here.

The solution appears to be to upgrade to MacOS Sonoma 14.

1 Like

OK, thanks and I have upgraded to Sonoma and I’m still having graphics issues.

In that case, we need the complete contents of an errorLog from a run where you’ve had a problem on Sonoma. Please post that.

2 Likes

The “triggering” circumstance appears to be logging back and forth between mac accounts, not sure.

This is the start of the Exception Vassal is trying to report to you:

2024-02-04 17:02:25,431 [11019-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.ClassCastException: class sun.java2d.opengl.CGLGraphicsConfig cannot be cast to class sun.java2d.metal.MTLGraphicsConfig

The stack trace for it contains none of our code.

The cause of that exception is shown in this message, passed through to Vassal from Java:

2024-02-04 17:02:25,388 [372-ProcessLauncher-2] WARN VASSAL.tools.logging.LoggedOutputStream - 2024-02-04 17:02:25.388 java[11019:320104] GLDRendererMetal command buffer completion error: Error Domain=MTLCommandBufferErrorDomain Code=8 “Insufficient Memory (00000008:kIOGPUCommandBufferCallbackErrorOutOfMemory)” UserInfo={NSLocalizedDescription=Insufficient Memory (00000008:kIOGPUCommandBufferCallbackErrorOutOfMemory), NSUnderlyingError=0x600002a53390 {Error Domain=IOGPUCommandQueueErrorDomain Code=8 “(null)”}}

That’s a not a message from Java, however; it’s Java’s passing on a system message.

Similar exceptions appear after this one in the errorLog when Vassal is trying to show you a dialog indicating that there wasn’t enough video RAM, but trying to show you a dialog triggers the error again because video RAM is needed to show you the dialog and there still isn’t enough video RAM.

Other people have reported the same problem with apps such as Blender (1, 2), VTK, pyvista and JetBrains (1, 2).

It looks like this is a bug in MacOS, or possibly in the way Java is handling a lack of VRAM (though I’m not sure what Java could do about that realistically).

I don’t understand what this is. Would you describe what you’re doing in more detail?

1 Like

Thanks for your time, I’ll take a look at your links. Could it be something like having too many modules open at the same time? I will report back anything useful about when it happens.