Jump to content

Severe synchronization/input issues on macOS(Sequoia 15.4 Beta 24E5206s) causing persistent rubber-banding and inability to interact with objects


Royce233
  • Fixed

[DST] Severe synchronization/input issues on macOS causing persistent rubber-banding and inability to interact with objects

Platform: macOS (latest version) Game Version: Latest Steam version of Don't Starve Together Issue:

When playing Don't Starve Together (DST) on macOS, my character experiences severe synchronization issues. Specifically:

  • Upon starting or joining a world, my character constantly "rubber-bands" back to the spawn point. Any attempt to move causes immediate teleportation back to the original spot.
  • Interaction with objects (items, resources, structures) does not function. Clicking items only triggers the animation briefly but never completes the interaction.
  • When enabling Lag Compensation, pressing a directional key once causes the character to run indefinitely in that direction, unable to stop unless pressing the spacebar. Interaction still remains impossible.
  • The issue persists even in Offline Mode (hosting local games), ruling out network or server-side latency.

Steps Taken (with no effect):

  • Verified integrity of game files via Steam.
  • Completely removed mods and tested on fresh worlds.
  • Deleted entire DST directory at ~/Documents/Klei/DoNotStarveTogether to reset configurations.
  • Fully reinstalled DST via Steam after manually deleting local files.
  • Tested using both built-in MacBook trackpad and external mouse/keyboard.
  • Disabled Steam overlay.
  • Checked macOS firewall, input monitoring, and accessibility permissions.

Additional Info:

  • No unusual logs appear obviously, but I can provide logs if directed.
  • Issue renders the game entirely unplayable on my Mac.

Thank you for your assistance.


Steps to Reproduce

[DST] Severe synchronization/input issues on macOS causing persistent rubber-banding and inability to interact with objects

Platform: macOS (latest version) Game Version: Latest Steam version of Don't Starve Together Issue:

When playing Don't Starve Together (DST) on macOS, my character experiences severe synchronization issues. Specifically:

  • Upon starting or joining a world, my character constantly "rubber-bands" back to the spawn point. Any attempt to move causes immediate teleportation back to the original spot.
  • Interaction with objects (items, resources, structures) does not function. Clicking items only triggers the animation briefly but never completes the interaction.
  • When enabling Lag Compensation, pressing a directional key once causes the character to run indefinitely in that direction, unable to stop unless pressing the spacebar. Interaction still remains impossible.
  • The issue persists even in Offline Mode (hosting local games), ruling out network or server-side latency.

Steps Taken (with no effect):

  • Verified integrity of game files via Steam.
  • Completely removed mods and tested on fresh worlds.
  • Deleted entire DST directory at ~/Documents/Klei/DoNotStarveTogether to reset configurations.
  • Fully reinstalled DST via Steam after manually deleting local files.
  • Tested using both built-in MacBook trackpad and external mouse/keyboard.
  • Disabled Steam overlay.
  • Checked macOS firewall, input monitoring, and accessibility permissions.

Additional Info:

  • No unusual logs appear obviously, but I can provide logs if directed.
  • Issue renders the game entirely unplayable on my Mac.

Thank you for your assistance.

  • Like 2
  • Sad 3
  • Sanity 2



User Feedback




A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.

Seeing that the game had an update, I downloaded the content with great anticipation, thinking that the macOS 15.4 system issues might have been fixed. However, after the update was complete, I couldn't open the game at all.

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               dontstarve_steam [64926]
Path:                  /Users/USER/Library/Application Support/Steam/*/dontstarve_steam.app/Contents/MacOS/dontstarve_steam
Identifier:            com.Klei.Dontstarve
Version:               2.0.0 (2.0.0)
Code Type:             X86-64 (Translated)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2025-04-11 08:48:31.7322 +0800
OS Version:            macOS 15.4 (24E248)
Report Version:        12
Anonymous UUID:        031695C8-24F8-7F27-998B-630A8B4A854C

Sleep/Wake UUID:       90E430EA-2C0A-434C-98A1-4B0D9045F02C

Time Awake Since Boot: 150000 seconds
Time Since Wake:       2047 seconds

System Integrity Protection: enabled

Crashed Thread:        0  MainThrd  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000008
Exception Codes:       0x0000000000000001, 0x0000000000000008

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [64926]

VM Region Info: 0x8 is not in any region.  Bytes before following region: 4305330168
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      1009e2000-100fb6000    [ 5968K] r-x/r-x SM=COW  /Users/USER/Library/Application Support/Steam/*/dontstarve_steam.app/Contents/MacOS/dontstarve_steam

Thread 0 Crashed:: MainThrd Dispatch queue: com.apple.main-thread
0   libsystem_pthread.dylib               0x7ff8108e014b pthread_mutex_lock + 4
1   dontstarve_steam                         0x100cb9d58 0x1009e2000 + 2981208

Thread 1:: com.apple.rosetta.exceptionserver
0   runtime                               0x7ff7fffa50e4 0x7ff7fffa1000 + 16612

Thread 2:
0   runtime                               0x7ff7fffc39b0 0x7ff7fffa1000 + 141744

Thread 3:
0   runtime                               0x7ff7fffc39b0 0x7ff7fffa1000 + 141744

Thread 4:
0   ???                                   0x7ff89de52ae0 ???
1   libsystem_kernel.dylib                0x7ff8108a55c2 __semwait_signal + 10
2   libsystem_c.dylib                     0x7ff81079226d nanosleep + 199
3   dontstarve_steam                         0x100cbb225 0x1009e2000 + 2986533

Thread 5:
0   runtime                               0x7ff7fffc39b0 0x7ff7fffa1000 + 141744

Thread 6:
0   ???                                   0x7ff89de52ae0 ???
1   libsystem_kernel.dylib                0x7ff8108a56f6 __psynch_cvwait + 10
2   libsystem_pthread.dylib               0x7ff8108e527a _pthread_cond_wait + 988
3   dontstarve_steam                         0x100acbfde 0x1009e2000 + 958430
4   dontstarve_steam                         0x100acbbe2 0x1009e2000 + 957410
5   dontstarve_steam                         0x100cb88f3 0x1009e2000 + 2975987
6   libsystem_pthread.dylib               0x7ff8108e0857 thread_start + 15

Thread 7:
0   ???                                   0x7ff89de52ae0 ???
1   libsystem_kernel.dylib                0x7ff8108a56f6 __psynch_cvwait + 10
2   libsystem_pthread.dylib               0x7ff8108e527a _pthread_cond_wait + 988
3   dontstarve_steam                         0x100acbfde 0x1009e2000 + 958430
4   dontstarve_steam                         0x100acbbe2 0x1009e2000 + 957410
5   dontstarve_steam                         0x100cb88f3 0x1009e2000 + 2975987
6   libsystem_pthread.dylib               0x7ff8108e0857 thread_start + 15


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x00007f8085068600  rbx: 0x00007f8081404780  rcx: 0x0000000094413026  rdx: 0x0000000000000000
  rdi: 0x0000000000000008  rsi: 0x0000000000000000  rbp: 0x0000000305ccf810  rsp: 0x0000000305ccf810
   r8: 0x0000000094613823   r9: 0x0000000000000054  r10: 0x0000000094600000  r11: 0x0000000000000026
  r12: 0x0000000305cd0028  r13: 0x0000000000000000  r14: 0x0000000000000008  r15: 0x0000000000000000
  rip: 0x00007ff8108e014b  rfl: 0x0000000000000203
 tmp0: 0x00007ff89e38ada0 tmp1: 0x00000001019131a0 tmp2: 0x00007ff8108e0147


Binary Images:
       0x2011d3000 -        0x20126dfff dyld (*) <91f7d7de-c0d4-3343-a245-b39bcfdbe87b> /usr/lib/dyld
    0x7ff7fffa1000 -     0x7ff7fffd0fff runtime (*) <a89c8e4c-e823-336b-96f1-2cfddae4563d> /usr/libexec/rosetta/runtime
       0x109a60000 -        0x109ac7fff libRosettaRuntime (*) <7742e99c-2006-3006-bc1e-1869448c6224> /Library/Apple/*/libRosettaRuntime
       0x1009e2000 -        0x100fb5fff com.Klei.Dontstarve (2.0.0) <44f198ea-4dee-3f1b-9536-b7e5970ae885> /Users/USER/Library/Application Support/Steam/*/dontstarve_steam.app/Contents/MacOS/dontstarve_steam
       0x10a008000 -        0x10a008fff steamloader.dylib (*) <c85b1892-a204-3ace-a1aa-10e5f2b49bdf> /Users/USER/Library/Application Support/Steam/*/steamloader.dylib
       0x10a08d000 -        0x10a0b4fff gameoverlayrenderer.dylib (*) <223e060d-e48b-3dc1-aee5-614a67985ada> /Users/USER/Library/Application Support/Steam/*/gameoverlayrenderer.dylib
       0x10a107000 -        0x10a14afff libfmodevent.dylib (*) <35b73777-f73d-343c-8b0e-f821538b18a5> /Users/USER/Library/Application Support/Steam/*/dontstarve_steam.app/Contents/Library/libfmodevent.dylib
       0x10a30b000 -        0x10a3eefff libfmodex.dylib (*) <116d10ab-a18e-35a1-b630-a436f4447e54> /Users/USER/Library/Application Support/Steam/*/dontstarve_steam.app/Contents/Library/libfmodex.dylib
       0x10a013000 -        0x10a01efff libsteam_api.dylib (*) <4463cda7-0547-37ed-844e-89c9cabacbca> /Users/USER/Library/Application Support/Steam/*/dontstarve_steam.app/Contents/Library/libsteam_api.dylib
       0x10e9cf000 -        0x110136fff steamclient.dylib (*) <faa2daee-92d9-3b97-9f78-57b0f04e838c> /Users/USER/Library/Application Support/Steam/*/steamclient.dylib
       0x10b816000 -        0x10b831fff libtier0_s.dylib (*) <3d8b710d-2a47-386c-8ae2-d5a426ced188> /Users/USER/Library/Application Support/Steam/*/libtier0_s.dylib
       0x10b90f000 -        0x10b93afff libvstdlib_s.dylib (*) <45fd9555-88a7-39b1-962a-fd5f1560f46b> /Users/USER/Library/Application Support/Steam/*/libvstdlib_s.dylib
       0x10b887000 -        0x10b896fff libaudio.dylib (*) <3a1d2639-7a4d-3908-aa92-8857eaad2c1b> /Users/USER/Library/Application Support/Steam/*/libaudio.dylib
       0x10b9dc000 -        0x10b9f3fff crashhandler.dylib (*) <cf23fdb5-7517-30c9-a599-6bc6375641eb> /Users/USER/Library/Application Support/Steam/*/crashhandler.dylib
       0x10b8c1000 -        0x10b8c8fff com.googlecode.google-breakpad (*) <c98be7e7-b888-338c-a7e7-40dd223401d4> /Users/USER/Library/Application Support/Steam/*/Breakpad.framework/Versions/A/Breakpad
       0x10b7aa000 -        0x10b7b9fff breakpadUtilities.dylib (*) <c62cc81e-aa3c-32b7-ab0e-68d19109fd3f> /Users/USER/Library/Application Support/Steam/*/Breakpad.framework/Versions/A/Resources/breakpadUtilities.dylib
       0x113960000 -        0x1141e6fff com.apple.AGXMetalG15X-M1 (325.34.1) <b13e1417-6b70-35be-9d2b-ea9c54a73412> /System/Library/Extensions/AGXMetalG15X_M1.bundle/Contents/MacOS/AGXMetalG15X_M1
       0x10e7c9000 -        0x10e7d5fff libobjc-trampolines.dylib (*) <5532492a-d4d2-37d4-86ca-66a0089ecc19> /usr/lib/libobjc-trampolines.dylib
       0x1138e4000 -        0x1138fafff com.apple.iokit.IOHIDLib (2.0.0) <4c7d5ef7-2240-3af1-a6e0-01d2852465b7> /System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib
    0x7ff8108df000 -     0x7ff8108eadcf libsystem_pthread.dylib (*) <b33f6374-3285-3bc8-8946-3472c31aabcd> /usr/lib/system/libsystem_pthread.dylib
               0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
    0x7ff8108a2000 -     0x7ff8108de837 libsystem_kernel.dylib (*) <05c853af-32f8-317c-91c7-03456d7a4311> /usr/lib/system/libsystem_kernel.dylib
    0x7ff810783000 -     0x7ff81080bca7 libsystem_c.dylib (*) <8fc0db40-599b-3cd2-991c-1faf1534c667> /usr/lib/system/libsystem_c.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.3G resident=0K(0%) swapped_out_or_unallocated=1.3G(100%)
Writable regions: Total=1.3G written=1397K(0%) resident=1397K(0%) swapped_out=0K(0%) unallocated=1.3G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
ColorSync                          236K       27 
CoreAnimation                      176K       12 
CoreGraphics                        12K        2 
Foundation                          16K        1 
Kernel Alloc Once                    8K        1 
MALLOC                             1.1G       48 
MALLOC guard page                  288K       18 
Rosetta Arena                     4096K        2 
Rosetta Generic                   1812K      450 
Rosetta IndirectBranch             512K        1 
Rosetta JIT                      128.0M        1 
Rosetta Return Stack               200K       20 
Rosetta Thread Context             200K       20 
STACK GUARD                         12K        3 
Stack                             15.6M        9 
Stack Guard                       56.0M        4 
VM_ALLOCATE                       17.7M       21 
VM_ALLOCATE (reserved)              20K        4         reserved VM address space (unallocated)
__CTF                               824        1 
__DATA                            37.8M     1009 
__DATA (graphics)                  132K        1 
__DATA_CONST                     106.6M     1016 
__DATA_DIRTY                      2611K      356 
__DATA_DIRTY (graphics)              4K        1 
__FONT_DATA                        2352        1 
__INFO_FILTER                         8        1 
__LINKEDIT                       166.3M       23 
__OBJC_RO                         61.2M        1 
__OBJC_RW                         2388K        2 
__TEXT                             1.1G     1039 
__TEXT (graphics)                 6908K        4 
__TPRO_CONST                         8K        2 
dyld private memory                128K        1 
mapped file                      285.7M       71 
page table in kernel              1397K        1 
shared memory                     1216K       14 
===========                     =======  ======= 
TOTAL                              3.1G     4189 
TOTAL, minus reserved VM space     3.1G     4189 

-----------
Full Report
-----------

{"app_name":"dontstarve_steam","timestamp":"2025-04-11 08:48:32.00 +0800","app_version":"2.0.0","slice_uuid":"44f198ea-4dee-3f1b-9536-b7e5970ae885","build_version":"2.0.0","platform":1,"bundleID":"com.Klei.Dontstarve","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 15.4 (24E248)","roots_installed":0,"name":"dontstarve_steam","incident_id":"87C5B302-4EC5-4F3E-B118-EAE501038BCD"}
{
  "uptime" : 150000,
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "Mac15,7",
  "coalitionID" : 14643,
  "osVersion" : {
    "train" : "macOS 15.4",
    "build" : "24E248",
    "releaseType" : "User"
  },
  "captureTime" : "2025-04-11 08:48:31.7322 +0800",
  "codeSigningMonitor" : 1,
  "incident" : "87C5B302-4EC5-4F3E-B118-EAE501038BCD",
  "pid" : 64926,
  "translated" : true,
  "cpuType" : "X86-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2025-04-11 08:48:29.1454 +0800",
  "procStartAbsTime" : 3695725062129,
  "procExitAbsTime" : 3695787062242,
  "procName" : "dontstarve_steam",
  "procPath" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/MacOS\/dontstarve_steam",
  "bundleInfo" : {"CFBundleShortVersionString":"2.0.0","CFBundleVersion":"2.0.0","CFBundleIdentifier":"com.Klei.Dontstarve"},
  "storeInfo" : {"deviceIdentifierForVendor":"977F72E0-910F-5696-B814-60BDF65B9234","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.Klei.Dontstarve",
  "crashReporterKey" : "031695C8-24F8-7F27-998B-630A8B4A854C",
  "appleIntelligenceStatus" : {"reasons":["countryLocationIneligible","selectedLanguageDoesNotMatchSelectedSiriLanguage","notOptedIn","accessNotGranted"],"state":"unavailable"},
  "codeSigningID" : "com.Klei.Dontstarve",
  "codeSigningTeamID" : "Q55YTJ84EN",
  "codeSigningFlags" : 570491649,
  "codeSigningValidationCategory" : 6,
  "codeSigningTrustLevel" : 4294967295,
  "codeSigningAuxiliaryInfo" : 0,
  "bootSessionUUID" : "25A2B157-ACBE-41A0-8087-B07B2D86A56C",
  "wakeTime" : 2047,
  "sleepWakeUUID" : "90E430EA-2C0A-434C-98A1-4B0D9045F02C",
  "sip" : "enabled",
  "vmRegionInfo" : "0x8 is not in any region.  Bytes before following region: 4305330168\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      __TEXT                      1009e2000-100fb6000    [ 5968K] r-x\/r-x SM=COW  \/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/MacOS\/dontstarve_steam",
  "exception" : {"codes":"0x0000000000000001, 0x0000000000000008","rawCodes":[1,8],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000008"},
  "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":64926},
  "vmregioninfo" : "0x8 is not in any region.  Bytes before following region: 4305330168\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      __TEXT                      1009e2000-100fb6000    [ 5968K] r-x\/r-x SM=COW  \/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/MacOS\/dontstarve_steam",
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"threadState":{"r13":{"value":0},"rflags":{"value":515},"rax":{"value":140189964338688},"rosetta":{"tmp2":{"value":140703406358855},"tmp1":{"value":4321259936},"tmp0":{"value":140705783131552}},"r14":{"value":8},"rsi":{"value":0},"r8":{"value":2489399331},"rdx":{"value":0},"r10":{"value":2489319424},"r9":{"value":84},"r15":{"value":0},"rbx":{"value":140189901014912},"r11":{"value":38},"rip":{"value":140703406358859,"matchesCrashFrame":1},"rbp":{"value":12982220816},"rsp":{"value":12982220816},"r12":{"value":12982222888},"rcx":{"value":2487300134},"flavor":"x86_THREAD_STATE","rdi":{"value":8}},"id":4809622,"triggered":true,"name":"MainThrd","queue":"com.apple.main-thread","frames":[{"imageOffset":4427,"symbol":"pthread_mutex_lock","symbolLocation":4,"imageIndex":19},{"imageOffset":2981208,"imageIndex":3}]},{"id":4809673,"name":"com.apple.rosetta.exceptionserver","threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":9908489551872},"r12":{"value":8589934592},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":4462471101447},"tmp0":{"value":10337986281472}},"rbx":{"value":4462471101447},"r8":{"value":2307},"r15":{"value":4294971392},"r10":{"value":3},"rdx":{"value":0},"rdi":{"value":0},"r9":{"value":1},"r13":{"value":4457339504},"rflags":{"value":582},"rax":{"value":268451845},"rsp":{"value":10337986281472},"r11":{"value":0},"rcx":{"value":17314086914},"r14":{"value":140705783131560},"rsi":{"value":2616}},"frames":[{"imageOffset":16612,"imageIndex":1}]},{"id":4809719,"frames":[{"imageOffset":141744,"imageIndex":1}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":18446744073709551615},"r12":{"value":0},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":0},"tmp0":{"value":0}},"rbx":{"value":0},"r8":{"value":0},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":12982243328},"rdi":{"value":0},"r9":{"value":0},"r13":{"value":0},"rflags":{"value":531},"rax":{"value":12982779904},"rsp":{"value":409604},"r11":{"value":0},"rcx":{"value":4867},"r14":{"value":0},"rsi":{"value":0}}},{"id":4809720,"frames":[{"imageOffset":141744,"imageIndex":1}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":18446744073709551615},"r12":{"value":0},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":0},"tmp0":{"value":0}},"rbx":{"value":0},"r8":{"value":0},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":12982800384},"rdi":{"value":0},"r9":{"value":0},"r13":{"value":0},"rflags":{"value":531},"rax":{"value":12983336960},"rsp":{"value":409604},"r11":{"value":0},"rcx":{"value":9475},"r14":{"value":0},"rsi":{"value":0}}},{"id":4809727,"frames":[{"imageOffset":140705777658592,"imageIndex":20},{"imageOffset":13762,"symbol":"__semwait_signal","symbolLocation":10,"imageIndex":21},{"imageOffset":62061,"symbol":"nanosleep","symbolLocation":199,"imageIndex":22},{"imageOffset":2986533,"imageIndex":3}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":100000000},"r12":{"value":140189946110752},"rosetta":{"tmp2":{"value":140703406118328},"tmp1":{"value":140705777658548},"tmp0":{"value":18446744073709551615}},"rbx":{"value":1},"r8":{"value":0},"r15":{"value":0},"r10":{"value":1},"rdx":{"value":1},"rdi":{"value":0},"r9":{"value":100000000},"r13":{"value":8},"rflags":{"value":646},"rax":{"value":4},"rsp":{"value":0},"r11":{"value":0},"rcx":{"value":0},"r14":{"value":12985445704},"rsi":{"value":0}}},{"id":4809737,"frames":[{"imageOffset":141744,"imageIndex":1}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":18446744073709551615},"r12":{"value":0},"rosetta":{"tmp2":{"value":0},"tmp1":{"value":0},"tmp0":{"value":0}},"rbx":{"value":0},"r8":{"value":0},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":12987568128},"rdi":{"value":0},"r9":{"value":0},"r13":{"value":0},"rflags":{"value":531},"rax":{"value":12988104704},"rsp":{"value":409604},"r11":{"value":0},"rcx":{"value":33795},"r14":{"value":0},"rsi":{"value":0}}},{"id":4809763,"frames":[{"imageOffset":140705777658592,"imageIndex":20},{"imageOffset":14070,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":21},{"imageOffset":25210,"symbol":"_pthread_cond_wait","symbolLocation":988,"imageIndex":19},{"imageOffset":958430,"imageIndex":3},{"imageOffset":957410,"imageIndex":3},{"imageOffset":2975987,"imageIndex":3},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":65704},"r12":{"value":12990213744},"rosetta":{"tmp2":{"value":140703406118636},"tmp1":{"value":140705777658548},"tmp0":{"value":18446744073709551615}},"rbx":{"value":0},"r8":{"value":140703406386614,"symbolLocation":0,"symbol":"_pthread_psynch_cond_cleanup"},"r15":{"value":0},"r10":{"value":0},"rdx":{"value":0},"rdi":{"value":294999000},"r9":{"value":65704},"r13":{"value":4294967552},"rflags":{"value":658},"rax":{"value":260},"rsp":{"value":0},"r11":{"value":0},"rcx":{"value":0},"r14":{"value":105553173268016},"rsi":{"value":4294967}}},{"id":4809764,"frames":[{"imageOffset":140705777658592,"imageIndex":20},{"imageOffset":14070,"symbol":"__psynch_cvwait","symbolLocation":10,"imageIndex":21},{"imageOffset":25210,"symbol":"_pthread_cond_wait","symbolLocation":988,"imageIndex":19},{"imageOffset":958430,"imageIndex":3},{"imageOffset":957410,"imageIndex":3},{"imageOffset":2975987,"imageIndex":3},{"imageOffset":6231,"symbol":"thread_start","symbolLocation":15,"imageIndex":19}],"threadState":{"flavor":"x86_THREAD_STATE","rbp":{"value":65704},"r12":{"value":12992323184},"rosetta":{"tmp2":{"value":140703406118636},"tmp1":{"value":140705777658548},"tmp0":{"value":18446744073709551615}},"rbx":{"value":0},"r8":{"value":140703406386614,"symbolLocation":0,"symbol":"_pthread_psynch_cond_cleanup"},"r15":{"value":512},"r10":{"value":0},"rdx":{"value":512},"rdi":{"value":295000000},"r9":{"value":65704},"r13":{"value":2203318223616},"rflags":{"value":658},"rax":{"value":260},"rsp":{"value":0},"r11":{"value":0},"rcx":{"value":0},"r14":{"value":105553173268352},"rsi":{"value":4294967}}}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 8608624640,
    "size" : 634880,
    "uuid" : "91f7d7de-c0d4-3343-a245-b39bcfdbe87b",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 140703128227840,
    "size" : 196608,
    "uuid" : "a89c8e4c-e823-336b-96f1-2cfddae4563d",
    "path" : "\/usr\/libexec\/rosetta\/runtime",
    "name" : "runtime"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4456841216,
    "size" : 425984,
    "uuid" : "7742e99c-2006-3006-bc1e-1869448c6224",
    "path" : "\/Library\/Apple\/*\/libRosettaRuntime",
    "name" : "libRosettaRuntime"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4305330176,
    "CFBundleShortVersionString" : "2.0.0",
    "CFBundleIdentifier" : "com.Klei.Dontstarve",
    "size" : 6111232,
    "uuid" : "44f198ea-4dee-3f1b-9536-b7e5970ae885",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/MacOS\/dontstarve_steam",
    "name" : "dontstarve_steam",
    "CFBundleVersion" : "2.0.0"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4462772224,
    "size" : 4096,
    "uuid" : "c85b1892-a204-3ace-a1aa-10e5f2b49bdf",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/steamloader.dylib",
    "name" : "steamloader.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4463316992,
    "size" : 163840,
    "uuid" : "223e060d-e48b-3dc1-aee5-614a67985ada",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/gameoverlayrenderer.dylib",
    "name" : "gameoverlayrenderer.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4463816704,
    "size" : 278528,
    "uuid" : "35b73777-f73d-343c-8b0e-f821538b18a5",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/Library\/libfmodevent.dylib",
    "name" : "libfmodevent.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4465930240,
    "size" : 933888,
    "uuid" : "116d10ab-a18e-35a1-b630-a436f4447e54",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/Library\/libfmodex.dylib",
    "name" : "libfmodex.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4462817280,
    "size" : 49152,
    "uuid" : "4463cda7-0547-37ed-844e-89c9cabacbca",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/dontstarve_steam.app\/Contents\/Library\/libsteam_api.dylib",
    "name" : "libsteam_api.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4540133376,
    "size" : 24543232,
    "uuid" : "faa2daee-92d9-3b97-9f78-57b0f04e838c",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/steamclient.dylib",
    "name" : "steamclient.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4487995392,
    "size" : 114688,
    "uuid" : "3d8b710d-2a47-386c-8ae2-d5a426ced188",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/libtier0_s.dylib",
    "name" : "libtier0_s.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4489015296,
    "size" : 180224,
    "uuid" : "45fd9555-88a7-39b1-962a-fd5f1560f46b",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/libvstdlib_s.dylib",
    "name" : "libvstdlib_s.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4488458240,
    "size" : 65536,
    "uuid" : "3a1d2639-7a4d-3908-aa92-8857eaad2c1b",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/libaudio.dylib",
    "name" : "libaudio.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4489854976,
    "size" : 98304,
    "uuid" : "cf23fdb5-7517-30c9-a599-6bc6375641eb",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/crashhandler.dylib",
    "name" : "crashhandler.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4488695808,
    "CFBundleIdentifier" : "com.googlecode.google-breakpad",
    "size" : 32768,
    "uuid" : "c98be7e7-b888-338c-a7e7-40dd223401d4",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/Breakpad.framework\/Versions\/A\/Breakpad",
    "name" : "Breakpad",
    "CFBundleVersion" : "1.0"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4487553024,
    "size" : 65536,
    "uuid" : "c62cc81e-aa3c-32b7-ab0e-68d19109fd3f",
    "path" : "\/Users\/USER\/Library\/Application Support\/Steam\/*\/Breakpad.framework\/Versions\/A\/Resources\/breakpadUtilities.dylib",
    "name" : "breakpadUtilities.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4623564800,
    "CFBundleShortVersionString" : "325.34.1",
    "CFBundleIdentifier" : "com.apple.AGXMetalG15X-M1",
    "size" : 8941568,
    "uuid" : "b13e1417-6b70-35be-9d2b-ea9c54a73412",
    "path" : "\/System\/Library\/Extensions\/AGXMetalG15X_M1.bundle\/Contents\/MacOS\/AGXMetalG15X_M1",
    "name" : "AGXMetalG15X_M1",
    "CFBundleVersion" : "325.34.1"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4538011648,
    "size" : 53248,
    "uuid" : "5532492a-d4d2-37d4-86ca-66a0089ecc19",
    "path" : "\/usr\/lib\/libobjc-trampolines.dylib",
    "name" : "libobjc-trampolines.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4623056896,
    "CFBundleShortVersionString" : "2.0.0",
    "CFBundleIdentifier" : "com.apple.iokit.IOHIDLib",
    "size" : 94208,
    "uuid" : "4c7d5ef7-2240-3af1-a6e0-01d2852465b7",
    "path" : "\/System\/Library\/Extensions\/IOHIDFamily.kext\/Contents\/PlugIns\/IOHIDLib.plugin\/Contents\/MacOS\/IOHIDLib",
    "name" : "IOHIDLib",
    "CFBundleVersion" : "2.0.0"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703406354432,
    "size" : 48592,
    "uuid" : "b33f6374-3285-3bc8-8946-3472c31aabcd",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703406104576,
    "size" : 247864,
    "uuid" : "05c853af-32f8-317c-91c7-03456d7a4311",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703404929024,
    "size" : 560296,
    "uuid" : "8fc0db40-599b-3cd2-991c-1faf1534c667",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  }
],
  "sharedCache" : {
  "base" : 140703374327808,
  "size" : 25769803776,
  "uuid" : "b64757d8-5205-3150-ba5d-bd1173320eae"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=1.3G resident=0K(0%) swapped_out_or_unallocated=1.3G(100%)\nWritable regions: Total=1.3G written=1397K(0%) resident=1397K(0%) swapped_out=0K(0%) unallocated=1.3G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nActivity Tracing                   256K        1 \nColorSync                          236K       27 \nCoreAnimation                      176K       12 \nCoreGraphics                        12K        2 \nFoundation                          16K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                             1.1G       48 \nMALLOC guard page                  288K       18 \nRosetta Arena                     4096K        2 \nRosetta Generic                   1812K      450 \nRosetta IndirectBranch             512K        1 \nRosetta JIT                      128.0M        1 \nRosetta Return Stack               200K       20 \nRosetta Thread Context             200K       20 \nSTACK GUARD                         12K        3 \nStack                             15.6M        9 \nStack Guard                       56.0M        4 \nVM_ALLOCATE                       17.7M       21 \nVM_ALLOCATE (reserved)              20K        4         reserved VM address space (unallocated)\n__CTF                               824        1 \n__DATA                            37.8M     1009 \n__DATA (graphics)                  132K        1 \n__DATA_CONST                     106.6M     1016 \n__DATA_DIRTY                      2611K      356 \n__DATA_DIRTY (graphics)              4K        1 \n__FONT_DATA                        2352        1 \n__INFO_FILTER                         8        1 \n__LINKEDIT                       166.3M       23 \n__OBJC_RO                         61.2M        1 \n__OBJC_RW                         2388K        2 \n__TEXT                             1.1G     1039 \n__TEXT (graphics)                 6908K        4 \n__TPRO_CONST                         8K        2 \ndyld private memory                128K        1 \nmapped file                      285.7M       71 \npage table in kernel              1397K        1 \nshared memory                     1216K       14 \n===========                     =======  ======= \nTOTAL                              3.1G     4189 \nTOTAL, minus reserved VM space     3.1G     4189 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "name" : "MainThrd",
    "queue" : "com.apple.main-thread"
  }
},
  "logWritingSignature" : "49e2205aaaa24b313cd9a0679dc85b7fb4813b13",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "65a8173205d942272410674b",
      "factorPackIds" : {
        "SIRI_HOME_AUTOMATION_SERVER_FLOW_DEPRECATION" : "65d39fa4cb0e2417d11ce5f6"
      },
      "deploymentId" : 240000001
    },
    {
      "rolloutId" : "60f8ddccefea4203d95cbeef",
      "factorPackIds" : {

      },
      "deploymentId" : 240000025
    }
  ],
  "experiments" : [

  ]
}
}

Model: Mac15,7, BootROM 11881.101.1, proc 12:6:6 processors, 36 GB, SMC 
Graphics: Apple M3 Pro, Apple M3 Pro, Built-In
Display: Color LCD, 3456 x 2234 Retina, Main, MirrorOff, Online
Memory Module: LPDDR5, Micron
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4388), wl0: Feb 27 2025 18:17:26 version 23.40.26.0.41.51.177 FWID 01-36c62c6c
IO80211_driverkit-1475.34 "IO80211_driverkit-1475.34" Mar  9 2025 20:59:13
AirPort: 
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB31Bus
USB Device: USB31Bus
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
 

Share this comment


Link to comment
Share on other sites

9 hours ago, Hubert Zhang said:

It seems like a macOS bug related to strcoll and LC_COLLATE

Add an extra environment `LC_COLLATE="C"` can bypass this bug.

Recent update 663947 tried to use `stringidsorter` in `table.sort` which utilizes `strcmp`. However it seems there is some other bugs in stringidsorter..

print(stringidsorter("AO", "Ao")) -- false
print(stringidsorter("Ao", "AO")) -- false

 

The `strcoll` thing is interesting. I tried to trigger the bug in some minimal C code between MacOS and Linux but results were identical, tried with LC_ALL/LC_COLLATE set to C or an UTF-8 locale, with or without setlocale(LC_ALL, "") in the code beginning etc. but sorting of "exitgym" with regards to other values was the same.

Wondering if Apple instead fixed a bug or something, or my test setup is not capturing whatever behavior changed.

Because I'm way too curious with too much time on my hands, I snooped in a bit even though this is all irrelevant by now with regards to this bug......but maybe somewhere out there, some project also hits this strcoll() bug and they put that in Google, and then they find this post because I'm using many technical words they might put in a search :)

In Ghidra I can see the MacOS version of the game (and critically ONLY MacOS) has code that calls _setlocale(0, "") (which I think is same as setlocale(LC_ALL, ""), LC_ALL is a zero constant on Mac, but Ghidra is unable to tell me if it's actually called; it seems far removed from wherever main() entrypoint is in DST. (Screenshot from Ghidra).

Screenshot2025-04-10at23_04_06.png.f76af01aacdee66fa8bd8a917b8d2442.png

But Linux version, in Ghidra I cannot see any calls to setlocale using this tool. I even tested a simple symbol stripped executable (same as strcmp_test below in my test setup) in Ghidra to see should it be visible even in symbol-stripped binaries and answer was yes, I should be able to see a setlocale.

My hypothesis (not sure if any of this is true but making my best guess):

1) DST does not call setlocale(LC_ALL, "") on other platforms, save for MacOS. The fact that MacOS version has a call to it according to Ghidra is because it's part of some MacOS-specific library DST uses, or there is code in DST that only is compiled in on MacOS that incidentally also sets the locale. Other editions do not set the locale. Setting the locale affects behavior of strcoll() so the question of setting locale or not is key part of this conundrum.

2) Apple fixed a bug in strcoll(). It used to work incorrectly and did not actually take locale into account at all. Since MacOS DST calls setlocale(LC_ALL, "") (unlike the other editions), it now uses the correct behavior of strcoll(). I'm guessing this because the behavior looks identical on Linux/MacOS in my tests below. If I had access to an older Mac, I could verify if this guess is correct. Alternatively, some totally unrelated change in Sequoia 15.4 made DST take a code path that does the setlocale() thingy and made it trigger the case-aware strcoll() and its behavior has not actually changed. (I tried to Google for similar issues in other projects...did not find any mentions).

I noticed in Lua source code it indeed uses strcoll() internally. I had never even seen or heard of strcoll() until @Hubert Zhang mentioned it :)

Test setup for people who have way too much time and curiosity on their hands

If anyone is curious enough and has an older Mac, you can try replicate my setup. I wrote one C file (strcmp_test.c) and a shell script (run_strcmp_strcoll_test_thingy.sh) to try combinations. The only difference I found between Linux/macOS is that the numerical value is different for collating cases but it's different in a way that would not affect sorting. I compared "exitgym" and "GetChatHistory" because they were next to each other in the RPC code listings.

It's a shame I don't have an older version of Mac to run this on. If my hypothesis above is correct, I'd expect to see identical behavior to strcoll()/strcmp() on Mac on every test case.

// strcmp_test.c
// Purpose: Compares two strings with strcmp/strcoll and
//          is meant to be ran off a shell script running
//          with varying locale setup.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>

int main(int argc, char **argv)
{
    if (argc != 4) { fprintf(stderr, "Usage: strcmp_test [t|f] <string1> <string2>\n"); return 1; }

    if (argv[1][0] == 't') {
        setlocale(LC_ALL, "");
    } else if (argv[1][0] == 'f') {
        // intentionally empty
    } else {
        fprintf(stderr, "Bad first argument; use t or f.\n");
        return 1;
    }

    int result_strcmp = strcmp(argv[2], argv[3]);
    int result_strcoll = strcoll(argv[2], argv[3]);

    const char* lc_all_env = getenv("LC_ALL");
    const char* lc_collate_env = getenv("LC_COLLATE");

    printf("--- TEST ---\n");
    system("uname"); // Prints "Darwin" on mac, "Linux" on linux
    printf("getenv(LC_ALL) = %s\n", lc_all_env);
    printf("getenv(LC_COLLATE) = %s\n", lc_collate_env);
    printf("setlocale(LC_ALL, \"\") has been called: %s\n", argv[1][0] == 't' ? "yes" : "no");
    printf("  strcmp(\"%s\", \"%s\") = %d\n", argv[2], argv[3], result_strcmp);
    printf("  strcoll(\"%s\", \"%s\") = %d\n", argv[2], argv[3], result_strcoll);
    return 0;
}

Shell script:

#!/usr/bin/env bash

# Compile strcmp_test first manually with either:
# clang -Wall -arch x86_64 strcmp_test.c -o strcmp_test  # (Mac, and x86_64 to match Don't Starve)
# gcc -Wall strcmp_test.c -o strcmp_test                 # (Linux)

# First two tests: with LC_ALL set to unicode locale and no LC_COLLATE
export LC_ALL=en_US.UTF-8
unset LC_COLLATE
./strcmp_test t exitgym GetChatHistory
./strcmp_test f exitgym GetChatHistory

# Second two tests: with LC_ALL set to C locale
export LC_ALL=C
./strcmp_test t exitgym GetChatHistory
./strcmp_test f exitgym GetChatHistory

# Final tests, no LC_ALL set at all
unset LC_ALL
./strcmp_test t exitgym GetChatHistory
./strcmp_test f exitgym GetChatHistory

#             ^
#             |
#             +--- The t or f here affects if strcmp_test will call
#                  setlocale(LC_ALL, ""). The program will print if it did so.
#

Output from both Mac and Linux:

--- TEST ---
Darwin
getenv(LC_ALL) = en_US.UTF-8
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: yes
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = -32
--- TEST ---
Darwin
getenv(LC_ALL) = en_US.UTF-8
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: no
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30
--- TEST ---
Darwin
getenv(LC_ALL) = C
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: yes
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30
--- TEST ---
Darwin
getenv(LC_ALL) = C
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: no
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30
--- TEST ---
Darwin
getenv(LC_ALL) = (null)
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: yes
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = -32
--- TEST ---
Darwin
getenv(LC_ALL) = (null)
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: no
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30


--- TEST ---
Linux
getenv(LC_ALL) = en_US.UTF-8
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: yes
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = -68
--- TEST ---
Linux
getenv(LC_ALL) = en_US.UTF-8
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: no
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30
--- TEST ---
Linux
getenv(LC_ALL) = C
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: yes
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30
--- TEST ---
Linux
getenv(LC_ALL) = C
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: no
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30
--- TEST ---
Linux
getenv(LC_ALL) = (null)
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: yes
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = -68
--- TEST ---
Linux
getenv(LC_ALL) = (null)
getenv(LC_COLLATE) = (null)
setlocale(LC_ALL, "") has been called: no
  strcmp("exitgym", "GetChatHistory") = 30
  strcoll("exitgym", "GetChatHistory") = 30

The only difference is -68 instead of -32 in the cases where locale is set in some way for strcoll.

 

...Oh and also I confirm everything seems to work now. I did clean slate install without any of my hacks and moving works and I can use the Wendy flower as well. Thanks for the fix!

and if any of you did read the ramblings of my previous post though then thanks for coming to my TED talk I shall take my exit now :arrow::cold:

Share this comment


Link to comment
Share on other sites

Just turn off Game Mode. The game server runs as a separate background process, and Game Mode limits the CPU usage of background programs, which causes stuttering.

Share this comment


Link to comment
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

×
  • Create New...