After running into problems with our game on OSX, I have tried running the standalone test on OSX. This also does not work. Something goes wrong in the native library while running the callbacks. The full application output is as follows.
Setting breakpad minidump AppID = 480
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198005606492 [API loaded no]
CurrentGameLanguage:
PersonaName: Cireon
AppInstallDir: 71 /Users/Tom/Library/Application Support/Steam/steamapps/common/Spacewar
Reqesting Current Stats
GetNumberOfCurrentPlayers() - 330780208267574
[304 - PersonaStateChange] - 6331461952 -- k_EPersonaChangeGamePlayed, k_EPersonaChangeGameServer, k_EPersonaChangeLeftSource
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) Steamworks.NativeMethods.SteamAPI_RunCallbacks () <IL 0x00022, 0xffffffff>
at Steamworks.SteamAPI.RunCallbacks () <IL 0x00005, 0x0002b>
at SteamworksNET_StandaloneTest.Program.Main (string[]) [0x00125] in /Users/Tom/Projects/SteamStats/SteamStats/Program.cs:46
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff>
Native stacktrace:
Debug info from gdb:
(lldb) command source -s 0 '/tmp/mono-gdb-commands.TXPbWj'
Executing commands in '/private/tmp/mono-gdb-commands.TXPbWj'.
(lldb) process attach --pid 1605
Process 1605 stopped
Executable module set to "/Library/Frameworks/Mono.framework/Versions/3.10.0/bin/mono".
Architecture set to: i386-apple-macosx.
(lldb) thread list
Process 1605 stopped
* thread #1: tid = 0x1f725, 0x98eaae1a libsystem_kernel.dylib`__wait4 + 10, name = 'MainThrd', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
thread #2: tid = 0x1f727, 0x98ea4a6a libsystem_kernel.dylib`semaphore_wait_trap + 10
thread #3: tid = 0x1f728, 0x98eab8d2 libsystem_kernel.dylib`kevent64 + 10, queue = 'com.apple.libdispatch-manager'
thread #4: tid = 0x1f729, 0x98eaa772 libsystem_kernel.dylib`__recvfrom + 10
thread #5: tid = 0x1f72c, 0x98eab8b6 libsystem_kernel.dylib`kevent + 10, name = 'IOPollingHelperThread'
thread #6: tid = 0x1f72d, 0x98eaae6e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #7: tid = 0x1f72e, 0x98eaae6e libsystem_kernel.dylib`__workq_kernreturn + 10
(lldb) thread backtrace all
* thread #1: tid = 0x1f725, 0x98eaae1a libsystem_kernel.dylib`__wait4 + 10, name = 'MainThrd', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x98eaae1a libsystem_kernel.dylib`__wait4 + 10
frame #1: 0x95ce4b25 libsystem_c.dylib`waitpid$UNIX2003 + 48
frame #2: 0x0015540d mono`mono_handle_native_sigsegv(signal=11, ctx=0x00787fe0) + 541 at mini-exceptions.c:2323
frame #3: 0x001a595b mono`mono_arch_handle_altstack_exception(sigctx=<unavailable>, fault_addr=<unavailable>, stack_ovf=0) + 155 at exceptions-x86.c:1159
frame #4: 0x000a658d mono`mono_sigsegv_signal_handler(_dummy=<unavailable>, info=<unavailable>, context=<unavailable>) + 445 at mini.c:6861
frame #5: 0x94e5503b libsystem_platform.dylib`_sigtramp + 43
thread #2: tid = 0x1f727, 0x98ea4a6a libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #0: 0x98ea4a6a libsystem_kernel.dylib`semaphore_wait_trap + 10
frame #1: 0x002fbc9a mono`mono_sem_wait(sem=0x00401658, alertable=1) + 26 at mono-semaphore.c:103
frame #2: 0x00267c3e mono`finalizer_thread(unused=0x00000000) + 142 at gc.c:1077
frame #3: 0x00244c42 mono`start_wrapper [inlined] start_wrapper_internal + 485 at threads.c:660
frame #4: 0x00244a5d mono`start_wrapper(data=<unavailable>) + 29 at threads.c:707
frame #5: 0x00301060 mono`inner_start_thread(arg=<unavailable>) + 240 at mono-threads-posix.c:88
frame #6: 0x9902becf libsystem_pthread.dylib`_pthread_body + 138
frame #7: 0x9902be45 libsystem_pthread.dylib`_pthread_start + 162
frame #8: 0x99029f0e libsystem_pthread.dylib`thread_start + 34
thread #3: tid = 0x1f728, 0x98eab8d2 libsystem_kernel.dylib`kevent64 + 10, queue = 'com.apple.libdispatch-manager'
frame #0: 0x98eab8d2 libsystem_kernel.dylib`kevent64 + 10
frame #1: 0x9304073f libdispatch.dylib`_dispatch_mgr_invoke + 245
frame #2: 0x930403a2 libdispatch.dylib`_dispatch_mgr_thread + 52
thread #4: tid = 0x1f729, 0x98eaa772 libsystem_kernel.dylib`__recvfrom + 10
frame #0: 0x98eaa772 libsystem_kernel.dylib`__recvfrom + 10
frame #1: 0x95ce4d32 libsystem_c.dylib`recv$UNIX2003 + 55
frame #2: 0x0018d3e8 mono`socket_transport_recv(buf=<unavailable>, len=<unavailable>) + 168 at debugger-agent.c:1131
frame #3: 0x0017f4a7 mono`debugger_thread [inlined] transport_recv(len=<unavailable>) + 31 at debugger-agent.c:1557
frame #4: 0x0017f488 mono`debugger_thread(arg=0x00000000) + 1560 at debugger-agent.c:9565
frame #5: 0x00301060 mono`inner_start_thread(arg=<unavailable>) + 240 at mono-threads-posix.c:88
frame #6: 0x9902becf libsystem_pthread.dylib`_pthread_body + 138
frame #7: 0x9902be45 libsystem_pthread.dylib`_pthread_start + 162
frame #8: 0x99029f0e libsystem_pthread.dylib`thread_start + 34
thread #5: tid = 0x1f72c, 0x98eab8b6 libsystem_kernel.dylib`kevent + 10, name = 'IOPollingHelperThread'
frame #0: 0x98eab8b6 libsystem_kernel.dylib`kevent + 10
frame #1: 0x01f5127e steamclient.dylib`OSXHelpers::CIOPollingHelper::RealRun() + 286
frame #2: 0x03020a9d libtier0_s.dylib`CatchAndWriteContext_t::Invoke() + 159
frame #3: 0x0302049f libtier0_s.dylib`CatchAndWriteMiniDump_Impl(CatchAndWriteContext_t&) + 214
frame #4: 0x03020586 libtier0_s.dylib`CatchAndWriteMiniDumpExForVoidPtrFn + 87
frame #5: 0x030205af libtier0_s.dylib`CatchAndWriteMiniDumpForVoidPtrFn + 35
frame #6: 0x01f5114f steamclient.dylib`OSXHelpers::CIOPollingHelper::Run() + 41
frame #7: 0x03025030 libtier0_s.dylib`SteamThreadTools::CThread::ThreadExceptionWrapper(void*) + 16
frame #8: 0x03020a9d libtier0_s.dylib`CatchAndWriteContext_t::Invoke() + 159
frame #9: 0x0302049f libtier0_s.dylib`CatchAndWriteMiniDump_Impl(CatchAndWriteContext_t&) + 214
frame #10: 0x03020586 libtier0_s.dylib`CatchAndWriteMiniDumpExForVoidPtrFn + 87
frame #11: 0x030205af libtier0_s.dylib`CatchAndWriteMiniDumpForVoidPtrFn + 35
frame #12: 0x03024fa4 libtier0_s.dylib`SteamThreadTools::CThread::ThreadProc(void*) + 238
frame #13: 0x9902becf libsystem_pthread.dylib`_pthread_body + 138
frame #14: 0x9902be45 libsystem_pthread.dylib`_pthread_start + 162
frame #15: 0x99029f0e libsystem_pthread.dylib`thread_start + 34
thread #6: tid = 0x1f72d, 0x98eaae6e libsystem_kernel.dylib`__workq_kernreturn + 10
frame #0: 0x98eaae6e libsystem_kernel.dylib`__workq_kernreturn + 10
frame #1: 0x9902c36d libsystem_pthread.dylib`_pthread_wqthread + 939
frame #2: 0x99029eea libsystem_pthread.dylib`start_wqthread + 30
thread #7: tid = 0x1f72e, 0x98eaae6e libsystem_kernel.dylib`__workq_kernreturn + 10
frame #0: 0x98eaae6e libsystem_kernel.dylib`__workq_kernreturn + 10
frame #1: 0x9902c36d libsystem_pthread.dylib`_pthread_wqthread + 939
frame #2: 0x99029eea libsystem_pthread.dylib`start_wqthread + 30
(lldb) detach
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Process 1605 detached
(lldb) quit
(lldb) Abort trap: 6
The code from the StandAlone test was copied into an empty C# Console Project made through Xamarin. The OSX/Linux dll was added as reference and the CSteamworks.bundle, steam_appid.txt and Steamworks.NET.dll.config were added to the build folder.
Oddly enough, Steamworks.NET seems to just run fine through Unity, but my knowledge of Unity is too limited to be aware of the differences that could cause his.