Hello Unity Community,
I have been running a Unity 5.5.x based application that relies on rendering on AWS using Nvidia GPU nodes (e.g. p2.xlarge or g2.2xlarge) without a physical display for a while now with good results. I’d like to upgrade to Unity 5.6 or 2017.1, but since version 5.6 (and including 2017.1) my application crashes while starting up.
My configuration includes an AWS p2.xlarge or g2.2xlarge instance, Ubuntu 16.04 LTS, the latest Nvidia driver (375.x), and X11. I execute my application using the -batchmode parameter, although I’m not sure if that is required.
To duplicate this crash, you need to only build a default, empty project for Linux x86_64 or Linux x86. You will find that when built with Unity 5.5.x, the application will run normally, but it will crash if built with Unity 5.6 or later. The stack trace that I see with both the latest 5.6.x patch release and the 2017.1 release is shown below.
One guess at the cause of this crash is that it is somehow associated with the introduction of the use of SDL in Unity 5.6, but, again, that’s just a guess.
If anyone has any idea about the cause or a workaround, it would be very much appreciated.
Thanks,
paul
Native stacktrace:
/home/ubuntu/linuxbatchmodecrash_Data/Mono/x86_64/libmono.so(+0x9210e) [0x7f8a4cb9310e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x1138f) [0x7f8a4fc9c38f]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f8a4ee4d428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x169) [0x7f8a4ee4f029]
./linuxbatchmodecrash.x86_64() [0xa3d87b]
/home/ubuntu/linuxbatchmodecrash_Data/Mono/x86_64/libmono.so(+0xd1176) [0x7f8a4cbd2176]
/home/ubuntu/linuxbatchmodecrash_Data/Mono/x86_64/libmono.so(+0x34f0d) [0x7f8a4cb35f0d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x1138f) [0x7f8a4fc9c38f]
./linuxbatchmodecrash.x86_64(SDL_GL_GetAttribute_REAL+0x1e3) [0x1468713]
./linuxbatchmodecrash.x86_64() [0x130af3e]
./linuxbatchmodecrash.x86_64() [0x1309aa8]
./linuxbatchmodecrash.x86_64() [0x1309b58]
./linuxbatchmodecrash.x86_64() [0x12dd8fb]
./linuxbatchmodecrash.x86_64() [0x456163]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xef) [0x7f8a4ee3882f]
./linuxbatchmodecrash.x86_64() [0x45f448]
Debug info from gdb:
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No threads.
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
or<std::pair<core::basic_string<char, core::StringStorageDefault > const, core::basic_string<char, core::StringStorageDefault > > > >::~map()
#6 0x007ffe646f7b20 in zcfree
#7 0x007ffe646f8950 in __libc_start_main
#8 0x007ffe646f8a10 in zcfree