PDA

View Full Version : Reproducible crash of FGU on MacOS



MostTornBrain
March 6th, 2022, 21:17
Hi,

I'm using FGU v4.1.14 ULTIMATE (2022-3-4) on a MacBookPro running macOS 12.2.1 (21D62) and I've run into what is an easily reproducible crash. If I choose the sidebar option to change my dice color, and then choose the eye dropper in the Choose Color dialog to sample a color, if I move off the top edge of the FGU window, the program immediately crashes. This is the crash dump showing what I suspect is the thread causing the crash:


Thread 36:: UnityGfxDeviceWorker
0 libmonobdwgc-2.0.dylib 0x117023212 0x116f94000 + 586258
1 libmonobdwgc-2.0.dylib 0x116fa1ca4 0x116f94000 + 56484
2 libsystem_platform.dylib 0x7ff80994be2d _sigtramp + 29
3 ??? 0x0 ???
4 AMDRadeonX6000MTLDriver 0x7ffa24e897b8 GFX10_PartialTileCallback(unsigned long long, unsigned int, unsigned int, void*) + 233
5 AMDRadeonX6000MTLDriver 0x7ffa24e89679 GFX10_GenerateTileAddresses(CpuTexInterfaceRec const*, ATIMipmapBufferHeader const*, unsigned int const*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, void (*)(unsigned long long, unsigned int, unsigned int, void*), void*) + 3076
6 AMDRadeonX6000MTLDriver 0x7ffa24e88325 GFX10_TextureReadPixels(CpuTexInterfaceRec const*, ATIMipmapBufferHeader const*, unsigned int const*, amd_gfx10_format_info const*, unsigned int, unsigned int, unsigned long, unsigned int, unsigned long, unsigned long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 556
7 AMDRadeonX6000MTLDriver 0x7ffa24e87b11 GFX10_TextureAccessRegion(CpuTexInterfaceRec const*, void (*)(CpuTexInterfaceRec const*, ATIMipmapBufferHeader const*, unsigned int const*, amd_gfx10_format_info const*, unsigned int, unsigned int, unsigned long, unsigned int, unsigned long, unsigned long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int), void (*)(CpuTexInterfaceRec const*, ATIMipmapBufferHeader const*, unsigned int const*, amd_gfx10_format_info const*, unsigned int, unsigned int, unsigned long, unsigned int, unsigned long, unsigned long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int), ATIMipmapBufferHeader const*, unsigned int const*, amd_gfx10_format_info const*, unsigned int, unsigned int, unsigned long, unsigned int, unsigned long, unsigned long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 912
8 AMDRadeonX6000MTLDriver 0x7ffa24e880e7 amdMtl_HWL_TextureReadRegion(CpuTexInterfaceRec const*, ATIMipmapBufferHeader const*, unsigned int const*, amd_gfx10_format_info const*, unsigned int, unsigned int, void const*, unsigned int, unsigned long, unsigned long, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 547
9 AMDRadeonX6000MTLDriver 0x7ffa24f3f256 -[GFXAAMD_MtlTexture getBytes:bytesPerRow:fromRegion:mipmapLevel:] + 584
10 UnityPlayer.dylib 0x1096f959a 0x108852000 + 15365530
11 UnityPlayer.dylib 0x1096f883e 0x108852000 + 15362110
12 UnityPlayer.dylib 0x10963938d 0x108852000 + 14578573
13 UnityPlayer.dylib 0x1096c491c 0x108852000 + 15149340
14 UnityPlayer.dylib 0x10963b053 0x108852000 + 14585939
15 UnityPlayer.dylib 0x1096313ec 0x108852000 + 14545900
16 UnityPlayer.dylib 0x108fc0b1c 0x108852000 + 7793436
17 libsystem_pthread.dylib 0x7ff8099364f4 _pthread_start + 125
18 libsystem_pthread.dylib 0x7ff80993200f thread_start + 15

Each time I cause the crash, this thread is on the exact same offset in GFX10_PartialTileCallback + 233.
I'd be happy to provide the full crash dump if it would be helpful.

I first ran into this because I noticed the eye-dropper color sampler did not appear to be sampling what was under the cursor, so I was just moving the cursor around trying to figure out if it was sampling color at some fixed x,y offset from the apparent cursor position, and when I moved to the top edge of the window as soon as I crossed the actual application border the app crashed.

This crash is consistently reproducible.

EDIT: It does _not_ appear to be ruleset dependent - I tried both Pathfinder 1e and D&D 2E and both crash in the same way.

Cheers,
Brian

sirkerry
March 6th, 2022, 23:57
@MostTornBrain,

Just an FYI, I tried to replicate this on an iMac (Retina 5K, 27-inch, 2017) running the same macOS version and same FGU version in both the AD&D 2e and PF1 rulesets and was not able to - i.e. FGU never crashed on me.

Moon Wizard
March 7th, 2022, 00:08
Thanks for the information. I was able to identify the situation with the development tools, even though it didn't crash my instance. I think it has to do with how video drivers handle certain types of calls when requests are outside of expected ranges.

I'll plan to include with the next client update.

Regards,
JPG

MostTornBrain
March 7th, 2022, 01:28
Thanks for the information. I was able to identify the situation with the development tools, even though it didn't crash my instance. I think it has to do with how video drivers handle certain types of calls when requests are outside of expected ranges.

I'll plan to include with the next client update.

Regards,
JPG

Wow! Super fast investigation! Do you ever sleep? :-)

It seems regardless of the forum topic, within hours of any of my oftentimes clueless questions, you usually give a thoughtful helpful response. It's greatly appreciated.

Thanks,
Brian