[Bug]: Fatal Error: 0xc06d007e / 0x00000000 crash on Electron v16.2.3
oalfroukh opened this issue · comments
oalfroukh commented
Preflight Checklist
- I have read the Contributing Guidelines for this project.
- I agree to follow the Code of Conduct that this project adheres to.
- I have searched the issue tracker for a bug report that matches the one I want to file, without success.
Electron Version
16.2.3
What operating system are you using?
Windows
Operating System Version
Windows 6.3.9600
What arch are you using?
x64
Last Known Working Electron version
9.4.3
Expected Behavior
Electron apps shouldn't crash on Windows 6.3.9600
Actual Behavior
Our app is now in production with Electron v16.2.3, we see there are a lot of crashes on sentry (30K crash on 10 days), I know Electron 16.2.3 is not a supported version, could you please check which method or practice will use this track trace or native electron code? any help is appreciated, I'll attach Sentry stack traces,
Thanks in advance!
Testcase Gist URL
No response
Additional Information
0xc06d007e / 0x00000000
Fatal Error: 0xc06d007e / 0x00000000
==============================
RaiseException@16
==============================
__delayLoadHelper2
(delayhlp.cpp:301)
==============================
RtlUnwind@16
==============================
(owning_audio_manager_accessor.cc:133)
} // namespace
OwningAudioManagerAccessor::OwningAudioManagerAccessor(
AudioManagerFactoryCallback audio_manager_factory_cb)
===> : audio_manager_factory_cb_(std::move(audio_manager_factory_cb)) {
DCHECK(audio_manager_factory_cb_);
}
OwningAudioManagerAccessor::~OwningAudioManagerAccessor() {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
==============================
(unique_ptr.h:725)
inline _LIBCPP_INLINE_VISIBILITY
typename __unique_if<_Tp>::__unique_single
make_unique(_Args&&... __args)
{
===> return unique_ptr<_Tp>(new _Tp(_VSTD::forward<_Args>(__args)...));
}
template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY
typename __unique_if<_Tp>::__unique_array_unknown_bound
==============================
audio::CreateStandaloneService
(service_factory.cc:28)
}
std::unique_ptr<Service> CreateStandaloneService(
mojo::PendingReceiver<mojom::AudioService> receiver) {
===> return std::make_unique<Service>(
std::make_unique<audio::OwningAudioManagerAccessor>(
base::BindOnce(&media::AudioManager::Create)),
/*enable_remote_client_support=*/true, std::move(receiver));
}
==============================
(services.cc:206)
::SetPriorityClass(::GetCurrentProcess(), ABOVE_NORMAL_PRIORITY_CLASS);
DCHECK(success);
}
#endif
===> return audio::CreateStandaloneService(std::move(receiver));
}
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_CHROMEOS_ASH)
auto RunShapeDetectionService(
mojo::PendingReceiver<shape_detection::mojom::ShapeDetectionService>
==============================
(service_factory.h:148)
static std::unique_ptr<InstanceHolderBase> RunConstructor(
Func fn,
GenericPendingReceiver receiver) {
using Interface = typename internal::ServiceFactoryTraits<Func>::Interface;
===> auto impl = fn(receiver.As<Interface>());
if (!impl)
return nullptr;
return std::make_unique<InstanceHolder<Interface>>(std::move(impl));
}
==============================
(bind_internal.h:404)
static constexpr bool is_callback = false;
template <typename Function, typename... RunArgs>
static R Invoke(Function&& function, RunArgs&&... args) {
===> return std::forward<Function>(function)(std::forward<RunArgs>(args)...);
}
};
#if defined(OS_WIN) && !defined(ARCH_CPU_64_BITS)
==============================
(bind_internal.h:648)
struct InvokeHelper<false, ReturnType> {
template <typename Functor, typename... RunArgs>
static inline ReturnType MakeItSo(Functor&& functor, RunArgs&&... args) {
using Traits = MakeFunctorTraits<Functor>;
===> return Traits::Invoke(std::forward<Functor>(functor),
std::forward<RunArgs>(args)...);
}
};
template <typename ReturnType>
==============================
(bind_internal.h:721)
static constexpr bool is_weak_call =
IsWeakMethod<is_method,
std::tuple_element_t<indices, DecayedArgsTuple>...>();
===> return InvokeHelper<is_weak_call, R>::MakeItSo(
std::forward<Functor>(functor),
Unwrap(std::get<indices>(std::forward<BoundArgsTuple>(bound)))...,
std::forward<UnboundArgs>(unbound_args)...);
}
};
Milan Burda commented
Electron 16 is not supported