[1.1.87] Hangs on macos after game update

This subforum contains all the issues which we already resolved.
half a cat
Inserter
Inserter
Posts: 27
Joined: Sun Jul 16, 2023 4:03 pm
Contact:

[1.1.87] Hangs on macos after game update

Post by half a cat »

Factorio randomly hangs after I updated to the latest core using the prompt that the game shows on startup, before the main menu. It didn't hang before the update. I don't have a way to reproduce the hang. I estimate it runs 15 minutes on average before hanging.

It sometimes hangs on startup. The attached log is from a hang on startup.
It sometimes hangs while moving the character around with WASD.
It sometimes hangs while looking at the technology tree.

When it hangs, the OS's busy cursor appears, the game does not respond to input, and sounds continue to play but no new sounds begin.

I expected it to not hang.
Attachments
factorio-current.log
(1.68 KiB) Downloaded 106 times
Vel
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sun Jul 16, 2023 5:26 pm
Contact:

Re: [1.1.87] Random hang after game update

Post by Vel »

I have the same issue on MacOS. Hangs always when starting. Seems to be lock related. Here are all stacks of all threads:

Code: Select all

Sampling process 2018 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling factorio (pid 2018) every 1 millisecond
Process:         factorio [2018]
Path:            /Users/ich/Library/Application Support/Steam/SteamApps/common/Factorio/factorio.app/Contents/MacOS/factorio
Load Address:    0x10dec5000
Identifier:      com.factorio
Version:         1.1.87 (1.1.87)
Code Type:       X86-64
Parent Process:  ??? [1]

Date/Time:       2023-07-16 19:27:53.805 +0200
Launch Time:     2023-07-16 19:24:47.553 +0200
OS Version:      Mac OS X 10.13.6 (17G66)
Report Version:  7
Analysis Tool:   /usr/bin/sample

Physical footprint:         636.9M
Physical footprint (peak):  1.1G
----

Call graph:
    118 Thread_147050   DispatchQueue_1: com.apple.main-thread  (serial)
    + 118 start  (in libdyld.dylib) + 1  [0x7fff72bad015]
    +   118 main  (in factorio) + 70531  [0x10e0905c3]  Main.cpp:1265
    +     118 MainLoop::run(Filesystem::Path const&, Filesystem::Path const&, bool, bool, std::__1::function<void ()>, Filesystem::Path const&, MainLoop::HeavyMode)  (in factorio) + 1475  [0x10df2b6f3]  MainLoop.cpp:423
    +       118 MainLoop::mainLoopStep(WorkerThread&, MainLoop::HeavyMode)  (in factorio) + 312  [0x10e0a2558]  MainLoop.cpp:719
    +         118 MainLoop::prepare()  (in factorio) + 1167  [0x10e0a5d9f]  MainLoop.cpp:1126
    +           118 GlobalContext::updateAmbient()  (in factorio) + 123  [0x10e0291db]  GlobalContext.cpp:1457
    +             118 AmbientPool::play()  (in factorio) + 374  [0x10e029446]  AmbientPool.cpp:80
    +               118 StreamInstanceSDL::play(Sound const&, bool, int, SoundMixer const*)  (in factorio) + 440  [0x10f128c18]  StreamInstanceSDL.cpp:17
    +                 118 StreamInstanceSDL::StreamData::StreamData(PackagePath const&)  (in factorio) + 64  [0x10f1286b0]  StreamInstanceSDL.cpp:13
    +                   118 Mix_LoadMUSType_RW  (in factorio) + 151  [0x10f895a67]  music.c:616
    +                     118 OGG_CreateFromRW  (in factorio) + 186  [0x10f893f3a]  music_ogg.c:253
    +                       118 _ov_open2  (in factorio) + 196  [0x10faed604]  vorbisfile.c:641
    +                         118 _get_prev_page_serial  (in factorio) + 559  [0x10faf1f0f]  vorbisfile.c:245
    +                           118 _get_next_page  (in factorio) + 360  [0x10faeea88]  vorbisfile.c:72
    +                             118 SDLRWOpsToPackagePathAdapter::read(SDL_RWops*, void*, unsigned long, unsigned long)  (in factorio) + 123  [0x10ee8ebbb]  SDLRWOpsToPackagePathAdapter.cpp:90
    +                               118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +                                 118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +                                   118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147067: TaskManager
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, TaskManager::TaskManager()::$_1982> >(void*, void*)  (in factorio) + 65  [0x10f7e29a1]  thread:291
    +         118 TaskManager::run()  (in factorio) + 203  [0x10f1e452b]  TaskManager.cpp:68
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147068: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147069: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147070: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147071: SDLTimer
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 RunThread  (in factorio) + 9  [0x10f9332e9]
    +         118 SDL_RunThread  (in factorio) + 44  [0x10f9328dc]  SDL_thread.c:305
    +           118 SDL_TimerThread  (in factorio) + 113  [0x10f9339c1]  SDL_timer.c:203
    +             118 SDL_SemWaitTimeout  (in factorio) + 80  [0x10f932e60]
    +               118 SDL_CondWaitTimeout  (in factorio) + 142  [0x10f93316e]  SDL_syscond.c:128
    +                 118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +                   118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147072
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 ???  (in GeForceMTLDriver)  load address 0x7fff46533000 + 0x160cc2  [0x7fff46693cc2]
    +         118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +           118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147085: CVDisplayLink
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 CVDisplayLink::runIOThread()  (in CoreVideo) + 500  [0x7fff4c94b9a4]
    +         118 CVDisplayLink::waitUntil(unsigned long long)  (in CoreVideo) + 237  [0x7fff4c94c3f3]
    +           118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 789  [0x7fff72ec65c2]
    +             118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147088: AudioQueue thread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 RunThread  (in factorio) + 9  [0x10f9332e9]
    +         118 SDL_RunThread  (in factorio) + 44  [0x10f9328dc]  SDL_thread.c:305
    +           118 audioqueue_thread  (in factorio) + 1022  [0x10f934d8e]  SDL_coreaudio.m:985
    +             118 CFRunLoopRunSpecific  (in CoreFoundation) + 483  [0x7fff4ad74153]
    +               117 __CFRunLoopRun  (in CoreFoundation) + 1783  [0x7fff4ad74ad7]
    +               ! 117 __CFRunLoopServiceMachPort  (in CoreFoundation) + 341  [0x7fff4ad75785]
    +               !   117 mach_msg  (in libsystem_kernel.dylib) + 60  [0x7fff72cf3724]
    +               !     117 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff72cf420a]
    +               1 __CFRunLoopRun  (in CoreFoundation) + 2848  [0x7fff4ad74f00]
    +                 1 __CFRunLoopDoSource1  (in CoreFoundation) + 533  [0x7fff4ad7d345]
    +                   1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__  (in CoreFoundation) + 41  [0x7fff4ad7d3f9]
    +                     1 mshMIGPerform  (in AudioToolbox) + 230  [0x7fff496fc4b2]
    +                       1 _XCallbackNotificationsAvailable  (in AudioToolbox) + 33  [0x7fff496fc6a5]
    +                         1 AQCallbackReceiver_CallbackNotificationsAvailable  (in AudioToolbox) + 121  [0x7fff496fc921]
    +                           1 ClientAudioQueue::FetchAndDeliverPendingCallbacks(unsigned int)  (in AudioToolbox) + 291  [0x7fff496fcac5]
    +                             1 AQClientCallbackMessageReader::DispatchCallbacks(void const*, unsigned long)  (in AudioToolbox) + 155  [0x7fff49714d3d]
    +                               1 ClientAudioQueue::CallOutputCallback(AudioQueueBuffer*)  (in AudioToolbox) + 267  [0x7fff49716aa5]
    +                                 1 outputCallback  (in factorio) + 493  [0x10f9352ed]  SDL_coreaudio.m:577
    +                                   1 mix_channels  (in factorio) + 1749  [0x10f891a55]  mixer.c:447
    +                                     1 music_mixer  (in factorio) + 259  [0x10f894b73]  music.c:234
    +                                       1 music_pcm_getaudio  (in factorio) + 96  [0x10f894a10]  music.c:188
    +                                         1 OGG_GetSome  (in factorio) + 119  [0x10f894457]  music_ogg.c:346
    +                                           1 ov_read  (in factorio) + 29  [0x10faf000d]  vorbisfile.c:2009
    +                                             1 ov_read_filter  (in factorio) + 108  [0x10faefc0c]  vorbisfile.c:1889
    +                                               1 _fetch_and_process_packet  (in factorio) + 260  [0x10faef3b4]  vorbisfile.c:707
    +                                                 1 mapping0_inverse  (in factorio) + 1003  [0x10faeb52b]  mapping0.c:802
    +                                                   1 mdct_backward  (in factorio) + 715  [0x10fad317b]  mdct.c:433
    118 Thread_147089: AQConverterThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 CAPThread::Entry(CAPThread*)  (in AudioToolbox) + 77  [0x7fff496d9119]
    +         118 AQConverterManager::AQConverterThread::ConverterThreadEntry(void*)  (in AudioToolbox) + 9  [0x7fff49702ded]
    +           118 AQConverterManager::AQConverterThread::Run()  (in AudioToolbox) + 425  [0x7fff49702fa1]
    +             118 CAGuard::Wait()  (in AudioToolbox) + 73  [0x7fff49708acb]
    +               118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +                 118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147090: com.apple.audio.IOThread.client
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 HALB_IOThread::Entry(void*)  (in CoreAudio) + 72  [0x7fff4a7c9ffe]
    +         118 HALC_ProxyIOContext::IOThreadEntry(void*)  (in CoreAudio) + 128  [0x7fff4a7ca2bc]
    +           114 HALC_ProxyIOContext::IOWorkLoop()  (in CoreAudio) + 977  [0x7fff4a7ca859]
    +           ! 114 HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int)  (in CoreAudio) + 45  [0x7fff4a7cd7ed]
    +           !   114 HALB_MachPort::SendMessageWithReply(unsigned int, unsigned int, unsigned int, unsigned int, mach_msg_header_t*, bool, unsigned int)  (in CoreAudio) + 124  [0x7fff4a7cd87a]
    +           !     114 mach_msg  (in libsystem_kernel.dylib) + 60  [0x7fff72cf3724]
    +           !       114 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff72cf420a]
    +           4 HALC_ProxyIOContext::IOWorkLoop()  (in CoreAudio) + 5021  [0x7fff4a7cb825]
    +             4 AQMEIO_HAL::_IOProc(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*)  (in AudioToolbox) + 25  [0x7fff49709b8f]
    +               2 AQMEIO_HAL::IOProc(AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*)  (in AudioToolbox) + 4625  [0x7fff4970adb3]
    +               : 2 MEOutputStreamClient::IO_PerformOutput(int, AudioBufferList&, AudioTimeStamp const&)  (in AudioToolbox) + 90  [0x7fff4970d9f8]
    +               :   2 MESubmixGraph::render(int, AudioBufferList&, AudioTimeStamp const&)  (in AudioToolbox) + 162  [0x7fff49891f8a]
    +               :     2 XAudioUnit::Render(unsigned int*, AudioTimeStamp const*, unsigned int, unsigned int, AudioBufferList*)  (in AudioToolbox) + 52  [0x7fff4970dc18]
    +               :       1 AUMethodRender(void*, unsigned int*, AudioTimeStamp const*, unsigned int, unsigned int, AudioBufferList*)  (in CoreAudio) + 45  [0x122e5ac5b]
    +               :       | 1 AUBase::DoRender(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int, AudioBufferList&)  (in CoreAudio) + 546  [0x122e5132a]
    +               :       |   1 AUBase::DoRenderBus(unsigned int&, AudioTimeStamp const&, unsigned int, AUOutputElement*, unsigned int, AudioBufferList&)  (in CoreAudio) + 166  [0x122e51c54]
    +               :       |     1 AUMultiChannelMixer::Render(unsigned int&, AudioTimeStamp const&, unsigned int)  (in CoreAudio) + 682  [0x122e38c0e]
    +               :       |       1 AUMultiChannelMixer::MixerCore::MasterMix(AudioTimeStamp const&, unsigned int)  (in CoreAudio) + 1935  [0x122e3963d]
    +               :       |         1 AUMultiChannelMixer::MixerCore::Mix(InputRenderOrderInfo const*, int, AudioTimeStamp const&, unsigned int)  (in CoreAudio) + 411  [0x122e399cb]
    +               :       |           1 AUMultiChannelMixer::MixerCore::RenderInput(unsigned int, AudioTimeStamp const&, unsigned int)  (in CoreAudio) + 182  [0x122e3764a]
    +               :       |             1 AUMultiChannelMixerInputElement::PullMixerInput(unsigned int, unsigned int&, AudioTimeStamp const&, unsigned int, AudioBufferList*)  (in CoreAudio) + 543  [0x122e38281]
    +               :       |               1 MEMixerChannel::MixInputProc(void*, unsigned int*, AudioTimeStamp const*, unsigned int, unsigned int, AudioBufferList*)  (in AudioToolbox) + 377  [0x7fff4970eeed]
    +               :       |                 1 AudioQueueObject::DequeueOutput(XAudioTimeStamp const&, unsigned int, AudioBufferList&, bool)  (in AudioToolbox) + 504  [0x7fff4970f3f0]
    +               :       |                   1 ScheduledSlicePlayer::Render(XAudioTimeStamp const&, int, AudioBufferList&, bool)  (in AudioToolbox) + 1128  [0x7fff4970fc46]
    +               :       |                     1 ScheduledSlicePlayer::BufferComplete(ScheduledSlicePlayer::XScheduledAudioSlice*, long long)  (in AudioToolbox) + 297  [0x7fff49715f6b]
    +               :       |                       1 AudioQueueObject::SlicePlayed(AudioQueueObject::ScheduledSlice*)  (in AudioToolbox) + 858  [0x7fff49716338]
    +               :       |                         1 AQConverterManager::AQConverterThread::Wake(AudioQueueObject&)  (in AudioToolbox) + 216  [0x7fff497034c8]
    +               :       |                           1 CAGuard::Notify()  (in AudioToolbox) + 37  [0x7fff497039a1]
    +               :       |                             1 pthread_cond_signal  (in libsystem_pthread.dylib) + 505  [0x7fff72ec778c]
    +               :       |                               1 __psynch_cvsignal  (in libsystem_kernel.dylib) + 10  [0x7fff72cfd9fe]
    +               :       1 AudioUnitRender  (in AudioToolbox) + 50  [0x7fff49874071]
    +               :         1 APComponentInstance::FromOpaqueComponentInstance(ComponentInstanceRecord*)  (in AudioToolbox) + 33  [0x7fff496d6919]
    +               :           1 BaseOpaqueObject::ResolveOpaqueRef(BaseOpaqueObject::RTTI const&, BaseOpaqueObject::Ref)  (in AudioToolbox) + 0  [0x7fff498dad44]
    +               1 AQMEIO_HAL::IOProc(AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*)  (in AudioToolbox) + 109  [0x7fff49709c0f]
    +               : 1 kdebug_trace  (in libsystem_kernel.dylib) + 0  [0x7fff72cf9603]
    +               1 AQMEIO_HAL::IOProc(AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*)  (in AudioToolbox) + 4117  [0x7fff4970abb7]
    +                 1 CABufferList::SetFrom(AudioBufferList const*, unsigned int)  (in AudioToolbox) + 0  [0x7fff49790d12]
    118 Thread_147164: com.apple.NSEventThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 _NSEventThread  (in AppKit) + 184  [0x7fff4844cfc4]
    +         118 CFRunLoopRunSpecific  (in CoreFoundation) + 483  [0x7fff4ad74153]
    +           118 __CFRunLoopRun  (in CoreFoundation) + 1783  [0x7fff4ad74ad7]
    +             118 __CFRunLoopServiceMachPort  (in CoreFoundation) + 341  [0x7fff4ad75785]
    +               118 mach_msg  (in libsystem_kernel.dylib) + 60  [0x7fff72cf3724]
    +                 118 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff72cf420a]
    118 Thread_147215
    + 118 start_wqthread  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4be9]
    +   118 _pthread_wqthread  (in libsystem_pthread.dylib) + 1552  [0x7fff72ec520e]
    +     118 __workq_kernreturn  (in libsystem_kernel.dylib) + 10  [0x7fff72cfe28a]
    118 Thread_147310: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147311: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147312: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147313: WorkerThread
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147316: GameUpdate
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (WorkerThread::*)(), WorkerThread*> >(void*)  (in factorio) + 67  [0x10f7e6303]  thread:291
    +         118 WorkerThread::loop()  (in factorio) + 149  [0x10f1ffef5]  WorkerThread.cpp:67
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147317
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (PackagePathAdapter::*)(), SDLRWOpsToPackagePathAdapter*> >(void*)  (in factorio) + 67  [0x10f651df3]  thread:291
    +         118 PackagePathAdapter::readFile()  (in factorio) + 123  [0x10ee8514b]  PackagePathAdapter.cpp:20
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_147318
    + 118 thread_start  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4bf9]
    +   118 _pthread_start  (in libsystem_pthread.dylib) + 377  [0x7fff72ec550d]
    +     118 _pthread_body  (in libsystem_pthread.dylib) + 340  [0x7fff72ec5661]
    +       118 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (PackagePathAdapter::*)(), SDLRWOpsToPackagePathAdapter*> >(void*)  (in factorio) + 67  [0x10f651df3]  thread:291
    +         118 PackagePathAdapter::readFile()  (in factorio) + 123  [0x10ee8514b]  PackagePathAdapter.cpp:20
    +           118 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)  (in factorio) + 18  [0x10fba1c82]
    +             118 _pthread_cond_wait  (in libsystem_pthread.dylib) + 732  [0x7fff72ec6589]
    +               118 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x7fff72cfda16]
    118 Thread_148614
      118 start_wqthread  (in libsystem_pthread.dylib) + 13  [0x7fff72ec4be9]
        118 _pthread_wqthread  (in libsystem_pthread.dylib) + 1035  [0x7fff72ec5009]
          118 __workq_kernreturn  (in libsystem_kernel.dylib) + 10  [0x7fff72cfe28a]
Donion
Factorio Staff
Factorio Staff
Posts: 326
Joined: Sun Aug 22, 2021 9:18 am
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by Donion »

Do you have the hidden setting "stream-from-disk" enabled?
Can you try two things for me (separately)?
  1. Run Factorio with the "--disable-audio" command line option/launch option.
  2. Set "music-volume" to 0 in the config file and run Factorio normally.
WildeWuchstkoenigin
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Jul 16, 2023 9:06 pm
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by WildeWuchstkoenigin »

I have the same issue on Linux.

Running the latest factorio version exactly gives me the random freezes described above. Nothing special in the logs.

Linux Distribution: Gentoo Stable
Kernel 6.3.4-gentoo-r1
Sound: Pipewire
half a cat
Inserter
Inserter
Posts: 27
Joined: Sun Jul 16, 2023 4:03 pm
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by half a cat »

I tried --disable-audio and it didn't hang in an hour. That seems to avoid the issue.

How can I check the stream-from-disk setting?
half a cat
Inserter
Inserter
Posts: 27
Joined: Sun Jul 16, 2023 4:03 pm
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by half a cat »

Setting music-volume to 0 does not prevent the problem from happening.
Donion
Factorio Staff
Factorio Staff
Posts: 326
Joined: Sun Aug 22, 2021 9:18 am
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by Donion »

Never mind, I forgot "stream-from-disk" setting is enabled by default. And it looks like that is the culprit.
Can you disable it and let me know if it stops hanging?
You can disable it in-game by "Ctrl + Alt + Left click" on the Settings button, going to "The rest", which show the hidden settings, look/search for "stream-from-disk" and uncheck it. Or you can edit the config.ini file here, change the line "; stream-from-disk=true" to "stream-from-disk=false" (make sure you remove the semicolon).
VGTNYC
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Jul 16, 2023 7:31 pm
Contact:

Re: [Donion] [1.1.87] Hangs on macos after game update

Post by VGTNYC »

does anyone have updates on the hangs?
Donion
Factorio Staff
Factorio Staff
Posts: 326
Joined: Sun Aug 22, 2021 9:18 am
Contact:

Re: [Donion] [1.1.87] Hangs on macos after game update

Post by Donion »

I've identified the issue and I'm working on a fix and testing right now.
Vel
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sun Jul 16, 2023 5:26 pm
Contact:

Re: [Donion] [1.1.87] Hangs on macos after game update

Post by Vel »

I cannot change the setting in-game because it hangs during startup. I looked at ~/Library/Application Support/factorio/config/config.ini but found no stream-from-disk. I added stream-from-disk=false to the end and it still hangs at 95% "Loading Sounds". Got back to the ini file and noticed that I added it to [graphics]. Moved it to [sound] and the game starts up again! Thanks!
Donion
Factorio Staff
Factorio Staff
Posts: 326
Joined: Sun Aug 22, 2021 9:18 am
Contact:

Re: [Donion] [1.1.87] Hangs on macos after game update

Post by Donion »

Thanks for the reports, the issue is now fixed for the next release.
half a cat
Inserter
Inserter
Posts: 27
Joined: Sun Jul 16, 2023 4:03 pm
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by half a cat »

I disabled stream-from-disk, and this does prevent the hang.

Appreciate the quick work to fix it. This means I should re-enable stream-from-disk after the next update, right?
Donion
Factorio Staff
Factorio Staff
Posts: 326
Joined: Sun Aug 22, 2021 9:18 am
Contact:

Re: [1.1.87] Hangs on macos after game update

Post by Donion »

half a cat wrote: Mon Jul 24, 2023 5:50 pm Appreciate the quick work to fix it. This means I should re-enable stream-from-disk after the next update, right?
Sure, you can re-enable it after you update (the fix is in current experimental version, 1.1.88, or you can wait for the next stable release) but nothing bad will happen if you don't or if you forget.
Post Reply

Return to “Resolved Problems and Bugs”