Skip to content

mimalloc 2.0.3: crash app on startup #521

@ershovdz

Description

@ershovdz

Hi,
The following scenario:

  • Windows 10, 17763.379
  • Visual Studio 2022, 17.0.4
  • Application (Renga.exe and many our dlls and third party dlls). We link Renga.exe explicitly with the mimalloc DLL.
  • Sometimes (very rarely, one crash per 13000 launches), the application crashes on startup.

We have the following callstack from the dump:
mimalloc_stack2

0000000025ff3980()
ucrtbase.dll!(void)()
ucrtbase.dll!__crt_seh_guarded_call::operator()<<lambda_8369fcb7c4df1e85de37618bd2b85f07>,(void) & ptr64,<lambda_5b7707bd6d7a0c4713179f36c7fd995d>>()
ucrtbase.dll!register_onexit_function()
mimalloc-override.dll!onexit(int()() function) Line 271
at d:\a01_work\20\s\src\vctools\crt\vcstartup\src\utility\utility.cpp(271)
mimalloc-override.dll!atexit(void(
)() function) Line 275
at d:\a01_work\20\s\src\vctools\crt\vcstartup\src\utility\utility.cpp(275)
[Inline Frame] mimalloc-override.dll!mi_process_load() Line 476
at C:\SRC\mimalloc\src\init.c(476)
mimalloc-override.dll!DllMain(HINSTANCE
* inst, unsigned long reason, void * reserved) Line 579
at C:\SRC\mimalloc\src\init.c(579)
mimalloc-override.dll!dllmain_dispatch(HINSTANCE
* const instance, const unsigned long reason, void * const reserved) Line 281
at d:\a01_work\20\s\src\vctools\crt\vcstartup\src\startup\dll_dllmain.cpp(281)
ntdll.dll!LdrpCallInitRoutine()
ntdll.dll!LdrpInitializeNode()
ntdll.dll!LdrpInitializeGraphRecurse()
ntdll.dll!LdrpInitializeGraphRecurse()
ntdll.dll!LdrpInitializeProcess�()
ntdll.dll!_LdrpInitialize()
ntdll.dll!LdrpInitialize�()
ntdll.dll!LdrInitializeThunk�()

We couldn't get log when app crashes. But we have log for successful app launch. Output log with MIMALLOC_VERBOSE=3 is attached below:

mimalloc: process init: 0xf8473d9000
mimalloc: secure level: 0
mimalloc: using 1 numa regions
mimalloc: option 'show_errors': 0
mimalloc: option 'show_stats': 3
mimalloc: option 'eager_commit': 1
mimalloc: option 'eager_region_commit': 0
mimalloc: option 'reset_decommits': 0
mimalloc: option 'large_os_pages': 0
mimalloc: option 'reserve_huge_os_pages': 0
mimalloc: option 'reserve_huge_os_pages_at': -1
mimalloc: option 'reserve_os_memory': 0
mimalloc: option 'segment_cache': 0
mimalloc: option 'page_reset': 0
mimalloc: option 'abandoned_page_reset': 0
mimalloc: option 'segment_reset': 0
mimalloc: option 'eager_commit_delay': 4
mimalloc: option 'allow_decommit': 1
mimalloc: option 'reset_delay': 25
mimalloc: option 'segment_decommit_delay': 500
mimalloc: option 'use_numa_nodes': 0
mimalloc: option 'limit_os_alloc': 0
mimalloc: option 'os_tag': 100
mimalloc: option 'max_errors': 16
mimalloc: option 'max_warnings': 16
mimalloc: malloc is redirected.
mimalloc-redirect: trace: build: Nov 22 2019
mimalloc-redirect: trace: checking for target mimalloc.dll
mimalloc-redirect: trace: checking for target mimalloc-override.dll
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Renga.exe"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\ntdll.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\KERNEL32.DLL"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\KERNELBASE.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\USER32.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\mimalloc-override.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\DxfConverter.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\win32u.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\GDI32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\ucrtbase.dll"
mimalloc-redirect: trace: resolving "ucrtbase.dll"
mimalloc-redirect: trace: resolve "malloc" at ucrtbase.dll!0x00007FFDEC4DC9E0 to mimalloc!0x00007FFD480B3140 (0)
mimalloc-redirect: trace: resolve "calloc" at ucrtbase.dll!0x00007FFDEC4DAE90 to mimalloc!0x00007FFD480B25D0 (0)
mimalloc-redirect: trace: resolve "realloc" at ucrtbase.dll!0x00007FFDEC4DDC80 to mimalloc!0x00007FFD480B3760 (0)
mimalloc-redirect: trace: resolve "free" at ucrtbase.dll!0x00007FFDEC4DC7B0 to mimalloc!0x00007FFD480B2650 (0)
mimalloc-redirect: trace: resolve "_expand" at ucrtbase.dll!0x00007FFDEC538830 to mimalloc!0x00007FFD480B2600 (0)
mimalloc-redirect: trace: resolve "_recalloc" at ucrtbase.dll!0x00007FFDEC4F2300 to mimalloc!0x00007FFD480B3980 (0)
mimalloc-redirect: trace: resolve "_msize" at ucrtbase.dll!0x00007FFDEC4ED4E0 to mimalloc!0x00007FFD480B3A70 (0)
mimalloc-redirect: trace: resolve "_malloc_base" at ucrtbase.dll!0x00007FFDEC4DC9F0 to mimalloc!0x00007FFD480B3140 (0)
mimalloc-redirect: trace: resolve "_calloc_base" at ucrtbase.dll!0x00007FFDEC4DAEA0 to mimalloc!0x00007FFD480B25D0 (0)
mimalloc-redirect: trace: resolve "_realloc_base" at ucrtbase.dll!0x00007FFDEC4DDC90 to mimalloc!0x00007FFD480B3760 (0)
mimalloc-redirect: trace: resolve "_free_base" at ucrtbase.dll!0x00007FFDEC4DC7D0 to mimalloc!0x00007FFD480B2650 (0)
mimalloc-redirect: trace: resolve "_expand_base" at ucrtbase.dll!0x00007FFDEC53883C to mimalloc!0x00007FFDD5C84D80 (0)
mimalloc-redirect: trace: resolve "_recalloc_base" at ucrtbase.dll!0x00007FFDEC4E04AC to mimalloc!0x00007FFDD5C84DB0 (0)
mimalloc-redirect: trace: resolve "_msize_base" at ucrtbase.dll!0x00007FFDEC4ED4F0 to mimalloc!0x00007FFDD5C84D60 (0)
mimalloc-redirect: trace: resolve "_aligned_malloc" at ucrtbase.dll!0x00007FFDEC4F2390 to mimalloc!0x00007FFD480B1960 (0)
mimalloc-redirect: trace: resolve "_aligned_realloc" at ucrtbase.dll!0x00007FFDEC5383C0 to mimalloc!0x00007FFD480B1A20 (0)
mimalloc-redirect: trace: resolve "_aligned_free" at ucrtbase.dll!0x00007FFDEC4F2C00 to mimalloc!0x00007FFD480B2650 (0)
mimalloc-redirect: trace: resolve "_aligned_recalloc" at ucrtbase.dll!0x00007FFDEC5385C0 to mimalloc!0x00007FFD480B1CB0 (0)
mimalloc-redirect: trace: resolve "_aligned_msize" at ucrtbase.dll!0x00007FFDEC537D20 to mimalloc!0x00007FFDD5C85190 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_malloc" at ucrtbase.dll!0x00007FFDEC537D90 to mimalloc!0x00007FFD480B19E0 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_realloc" at ucrtbase.dll!0x00007FFDEC537E60 to mimalloc!0x00007FFD480B1A50 (0)
mimalloc-redirect: trace: resolve "_aligned_offset_recalloc" at ucrtbase.dll!0x00007FFDEC5380C0 to mimalloc!0x00007FFD480B1CA0 (0)
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\DxfExporter.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\gdi32full.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\RPCRT4.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\msvcp_win.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\CollisionEngine.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\ADVAPI32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\COMDLG32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\msvcrt.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\combase.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\sechost.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TablesEngine.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\SpecsEngine.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\bcryptPrimitives.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\bcrypt.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\SHLWAPI.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\shcore.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\SHELL32.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Value.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\AecMath.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\cfgmgr32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\windows.storage.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\FontEngine.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\profapi.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Geometry.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\powrprof.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\kernel.appcore.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\PluginsSystem.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\MepRelationEngine.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\OLEAUT32.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RenderEngine.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\cryptsp.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\ole32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\CRYPT32.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Exchange3DFormatsConverter.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ProjectStorage.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\MSASN1.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\HMD.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Scripting.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ScriptingEngine.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Ifc4Import.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Ifc4Export.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\GeneralizedModel.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Serialization.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Reinforcement.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\CollaborationController.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\CollaborationExchange.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\PropertiesGrid.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\EmbeddedPreviewEngine.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Tables.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RepresentationEngine.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Activity.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\CSVExporter.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Specs.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\MathAttributes.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Graphics.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Model.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\APIBackend.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ItemIdGenerator.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ProjectController.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ProjectConverter.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Expressions.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ProjectExplorer.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\CrashRpt.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\libglog.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RengaApp.Libs\Qt5Core.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\System32\WS2_32.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RengaApp.Libs\Qt5Widgets.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RengaApp.Libs\Qt5Xml.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RengaApp.Libs\Qt5Gui.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RengaApp.Libs\Qt5Svg.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\xsec_2_0.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\QPdfium.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\c3d.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\xerces-c_3_2.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Pat.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\CollaborationCore.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ISM_21.2_14.tx"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\PlotSettingsValidator_21.2_14.tx"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_Alloc_21.2_14.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_Db_21.2_14.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_DbRoot_21.2_14.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_DbCore_21.2_14.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_DbEntities_21.2_14.tx"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_Ge_21.2_14.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_Gi_21.2_14.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_Root_21.2_14.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\MSVCP140.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\VCRUNTIME140_1.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\mimalloc-redirect.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\WINSPOOL.DRV"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\tidy.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.17763.379_none_10e5882c642d5588\COMCTL32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\DWrite.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\d2d1.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\VCOMP140.DLL"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\MepTrace.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\ZodiacGraph.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\mscoree.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\GFSDK_SSAO.win64.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\XINPUT9_1_0.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\D3DCOMPILER_47.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\d3d11.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\VERSION.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\dwmapi.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\MeshExporter.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\assimp.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\prntvpt.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\IfcMapping.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\IfcPlusPlusIfc4.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\Logging.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\InternalAPI.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\MPR.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\WINMM.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\UxTheme.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\RengaApp.Libs\libGLESv2.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\pdfium.dll"
mimalloc-redirect: trace: module "C:\renga_src0\Bin\Release\TD_SpatialIndex_21.2_14.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\Secur32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\PROPSYS.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\OPENGL32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\d3d9.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\dxgi.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\winmmbase.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\GLU32.dll"
mimalloc-redirect: trace: module "C:\WINDOWS\SYSTEM32\SSPICLI.DLL"
mimalloc-redirect: trace: standard malloc is redirected
heap stats: peak total freed current unit count
reserved: 704.0 MiB 704.0 MiB 8.0 KiB 704.0 MiB not all freed!
committed: 133.7 MiB 133.7 MiB 8.0 KiB 133.7 MiB not all freed!
reset: 0 0 0 0 ok
touched: 257.0 KiB 257.0 KiB 25.1 MiB -24.9 MiB ok
segments: 2 2 1 1 not all freed!
-abandoned: 1 1 0 1 not all freed!
-cached: 0 0 0 0 ok
pages: 227 304 245 59 not all freed!
-abandoned: 2 2 0 2 not all freed!
-extended: 0
-noretire: 0
mmaps: 0
commits: 82
threads: 10 10 1 9 not all freed!
searches: 0.0 avg
numa nodes: 1
elapsed: 3.910 s
process: user: 0.343 s, system: 0.718 s, faults: 27351, rss: 100.0 MiB, commit: 157.2 MiB
mimalloc: process done: 0xf8473d9000

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions