Thanks Ben for looking into this.

In my earlier email, I mistakenly mentioned is_clang = false; that was a
typo. V8 is actually built with is_clang = true and as a static library,
and the DLL that links to this static library is also built using *clang-cl*
in Visual Studio 2022. Most importantly, this setup was working correctly
up to version *14.1.146.11*.

We started encountering crashes only after upgrading V8 to *14.2.xxx.xx*.
There were no changes on our side, so the issue appears to have been
introduced with the V8 upgrade.

On Thu, Jan 8, 2026 at 3:35 AM Ben Noordhuis <[email protected]> wrote:

> On Wed, Jan 7, 2026 at 4:39 PM Pradish <[email protected]> wrote:
> >
> > we are seeing a Crash due to cross-DLL deallocation of std::string from
> static V8 library (CRT/heap ownership mismatch)
> >
> > But this issue was never seen in earlier versions. we have not changed
> our code since many years.
> >
> > is our assumption correct ? or is there anything changed in the latest
> version that we have take care of in our code.
> >
> > Environment
> >
> > OS: Windows 11
> >
> > CPU architecture: x64
> >
> > Compiler: clang-cl
> >
> > MSVC toolchain: Visual Studio 2022 (v143)
> >
> > V8 version / commit: 14.3.127.17
> >
> > Build system: GN + Ninja
> >
> > Build type: Static library (v8_monolith.lib)
> >
> >
> >
> > args.gn:
> > is_component_build = false
> >
> > is_debug = false
> >
> > target_cpu = "x64"
> >
> > use_custom_libcxx = false
> >
> > v8_monolithic = true
> >
> > v8_use_external_startup_data = false
> >
> > is_clang = false
> >
> > clang_use_chrome_plugins = false
> >
> > treat_warnings_as_errors = false
> >
> > v8_enable_test_features=false
> >
> > v8_enable_fast_torque = false
> >
> > v8_enable_sandbox = false
> >
> > v8_enable_pointer_compression = false
> >
> > v8_enable_backtrace = false
> >
> > v8_enable_disassembler = false
> >
> > v8_enable_object_print = false
> >
> > v8_enable_verify_heap = false
> >
> > v8_enable_slow_dchecks = false
> >
> > v8_enable_gdbjit = false
> >
> > v8_enable_i18n_support = true
> >
> > v8_monolithic_for_shared_library = true
> >
> > v8_static_library = true
> >
> > icu_use_data_file = false
> >
> > v8_enable_temporal_support = false
> >
> > use_sysroot = false
> >
> > symbol_level = 0
> >
> > strip_debug_info=true
> >
> > dcheck_always_on = false
> >
> >
> >
> > Application:
> >
> > We use V8 to execute JavaScript, and on Windows the V8 library is
> statically linked into our own DLL.
> > The application was working correctly up to version 14.1.146.11.
> > we were originally using V8 as a shared dll up to version  13.0.x, but
> later we had to switch to using the static V8 library, since shared DLL
> builds are not officially supported by V8 and we also migrated from MSVC to
> clang-cl.
> >
> >
> >
> > As part of addressing security issues, we upgraded V8 to 14.3.127.17.
> After this upgrade, we are seeing frequent crashes inside our DLL, and many
> of the crash stacks point to operations involving std::basic_string.
> >
> >
> >
> >
> >
> > Location:
> >     _CONSTEXPR20 ~basic_string() noexcept {
> >
> >         _Tidy_deallocate();  //crashes here
> >
> > #if _ITERATOR_DEBUG_LEVEL != 0
> >
> >         auto&& _Alproxy          = _GET_PROXY_ALLOCATOR(_Alty, _Getal());
> >
> >         const auto _To_delete    = _Mypair._Myval2._Myproxy;
> >
> >         _Mypair._Myval2._Myproxy = nullptr;
> >
> >         _Delete_plain_internal(_Alproxy, _To_delete);
> >
> > #endif // _ITERATOR_DEBUG_LEVEL != 0
> >
> >     }
> >
> >
> >  any inputs or pointers will be of great help.
> >
> > Thank you for looking into this.
> >
> > regards
> > Pradish
>
> Crashes in _Tidy_deallocate, assuming they're not ordinary memory
> corruption bugs in your application, suggests different parts of your
> program have been linked to different versions of the standard C++
> library. Check that V8 and your application are built with the same
> compiler and linker flags.
>
> --
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/v8-dev/CAHQurc8iLXwSeX2na3tXt8wbcgv_txeiUHpZKM_3FKdL3GaYuw%40mail.gmail.com
> .
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/CAJAzun%3Dz0v1D5knGsCMxh8ay%3DrOmxGcXYuB_58KFcEqx3i9WbQ%40mail.gmail.com.

Reply via email to