Skip to content

FileXT causes Arma3 main thread to stall #10

Description

@uniflare

Looks like FileXT is filling the stderr buffer which, at least on windows, when it is full causes the main thread to stall on Arma3 (nothing is emptying/reading the buffer).

Server Details:

Executable Arguments:
    -port=2402
    -config=C:\Servers\UserApplications\User1\Arma3Master\Servers\_f0d1487932d447079feb7b4fcef5441f\server_config.cfg
    -cfg=C:\Servers\UserApplications\User1\Arma3Master\Servers\_f0d1487932d447079feb7b4fcef5441f\server_basic.cfg
    -profiles=C:\Servers\UserApplications\User1\Arma3Master\Servers\_f0d1487932d447079feb7b4fcef5441f
    -name=_f0d1487932d447079feb7b4fcef5441f
    -enableHT
    -netlog
    
Mods:
    @ace
    @Advanced_Rappelling__Reworked
    @Advanced_Sling_Loading
    @Advanced_Towing
    @BackpackOnChest
    @CBA_A3
    @CUP_Terrains__Core
    @CUP_Terrains__CWA
    @CUP_Terrains__Maps
    @CUP_Terrains__Maps_2_0
    @CUP_Units
    @CUP_Vehicles
    @CUP_Weapons
    @DUI__Squad_Radar
    @Enhanced_Movement
    @Hatchet_Framework__Development_Version
    @Jbad
    @LAMBS_Danger_fsm
    @LAMBS_Suppression
    @Lesh_s_Towing_Mod
    @LYTHIUM
    @Project_OPFOR
    @RHSAFRF
    @RHSGREF
    @RHSUSAF
    @RKSL_Studios__Attachments_v3_02
    @Task_Force_Arrowhead_Radio_BETA__
    @Zeus_Enhanced
    @TGP_Simple_Cockpit_Slew
    @Hatchet_H_60_pack__Development_Version
    @RHSSAF
    @ACE_Compat__RHS_AFRF
    @ACE_Compat__RHS_USAF
    @ACE_Compat__RHS_GREF
    @Anrop_Jbad_Legacy_Compatibility
    @Enhanced_Movement_Rework
    @Zeus_Enhanced__ACE3_Compatibility
    @ACE_Compat__RHS_SAF
    @3CB_BAF_Equipment
    @3CB_BAF_Units
    @3CB_BAF_Units_ACE_compatibility_
    @3CB_BAF_Units_RHS_compatibility_
    @3CB_BAF_Vehicles
    @3CB_BAF_Vehicles_RHS_reskins_
    @3CB_BAF_Vehicles_Servicing_extension_
    @3CB_BAF_Weapons
    @3CB_BAF_Weapons_RHS_ammo_compatibility_
    @3CB_Factions
    
Server Mods:
    @FileXT

System Specs:
    Windows Server 2022 Standard 64-bit (10.0, Build 20348) (20348.fe_release.210507-1500)
    12th Gen Intel(R) Core(TM) i3-12100F (8 CPUs), ~3.3GHz
    16384MB RAM + 28495MB Page File
    DirectX 12

Call Stack:

    ntdll.dll!00007fffdf8aeff4()	Unknown
 	KernelBase.dll!00007fffdce04e2b()	Unknown
>	filext_x64.dll!write_text_ansi_nolock(const int fh, const char * const buffer, const unsigned int buffer_size) Line 443	C++
 	filext_x64.dll!_write_nolock(int fh, const void * buffer, unsigned int buffer_size, __crt_cached_ptd_host & ptd) Line 710	C++
 	filext_x64.dll!_write_internal(int fh, const void * buffer, unsigned int size, __crt_cached_ptd_host & ptd) Line 65	C++
 	filext_x64.dll!__acrt_stdio_flush_nolock(_iobuf * public_stream, __crt_cached_ptd_host & ptd) Line 241	C++
 	filext_x64.dll!__acrt_stdio_end_temporary_buffering_nolock(bool flag, _iobuf * public_stream, __crt_cached_ptd_host & ptd) Line 135	C++
 	[Inline Frame] filext_x64.dll!__acrt_stdio_temporary_buffering_guard::{dtor}() Line 469	C++
 	filext_x64.dll!common_vfprintf::__l2::<lambda>() Line 48	C++
 	filext_x64.dll!__crt_seh_guarded_call<int>::operator()<void <lambda>(void),int <lambda>(void) &,void <lambda>(void)>(__acrt_lock_stream_and_call::__l2::void <lambda>(void) && setup, common_vfprintf::__l2::int <lambda>(void) & action, __acrt_lock_stream_and_call::__l2::void <lambda>(void) && cleanup) Line 202	C++
 	[Inline Frame] filext_x64.dll!__acrt_lock_stream_and_call(_iobuf * const) Line 297	C++
 	[Inline Frame] filext_x64.dll!common_vfprintf(const unsigned __int64 options, _iobuf * const stream, const char * const format, __crt_cached_ptd_host & arglist, char * const) Line 37	C++
 	filext_x64.dll!__stdio_common_vfprintf(unsigned __int64 options, _iobuf * stream, const char * format, __crt_locale_pointers * locale, char * arglist) Line 61	C++
 	[Inline Frame] filext_x64.dll!_vfprintf_l(_iobuf * const) Line 645	C++
 	filext_x64.dll!fprintf(_iobuf * const _Stream, const char * const _Format, ...) Line 844	C++
 	filext_x64.dll!RVExtensionArgs(char * output, int outputSize, const char * function, const char * * argv, int argc) Line 165	C++
 	arma3server_x64.exe!00007ff757357874()	Unknown
 	arma3server_x64.exe!00007ff7573575ba()	Unknown
 	arma3server_x64.exe!00007ff757181f72()	Unknown
 	arma3server_x64.exe!00007ff7580b8efa()	Unknown
 	arma3server_x64.exe!00007ff7580b7c9c()	Unknown
 	arma3server_x64.exe!00007ff7580c4a6d()	Unknown
 	arma3server_x64.exe!00007ff757c258ff()	Unknown
 	arma3server_x64.exe!00007ff757c1ffd1()	Unknown
 	arma3server_x64.exe!00007ff75816a40c()	Unknown
 	arma3server_x64.exe!00007ff758150526()	Unknown
 	arma3server_x64.exe!00007ff758154295()	Unknown
 	arma3server_x64.exe!00007ff7581735b0()	Unknown
 	arma3server_x64.exe!00007ff7582462d0()	Unknown
 	kernel32.dll!00007fffdef04ed0()	Unknown
 	ntdll.dll!00007fffdf88e39b()	Unknown

Pull Request to fix and refactor logging mechanism: #9

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions