# Prefix Signatures
#
# This file contains a list of regular expressions that match the beginning of
# frames indicating that signature generation should continue to the next frame.
#
# Read the README.rst for instructions and tips on editing this file.

@0x0
.*CrashAtUnhandlableOOM
Abort
.*abort
__abi_WinRTraiseCOMException
__abi_WinRTraiseException
__aeabi_memcpy4
__aeabi_memcpy
__aeabi_memmove
.*alloc_impl
Allocator<T>::malloc
AllocInfo::Get<T>
alloc::oom::default_oom_handler
alloc::oom::oom
alloc::raw_vec::capacity_overflow
_alloca_probe
__android_log_assert
__assert_fail
__assert_fail_base
arena_
BaseAllocator
BaseGetNamedObjectDirectory
CALayerRelease
CALayerRetain
__clear_cache
.*calloc
cert_
CERT_
CFRelease
chunk_alloc
chunk_recycle
_chkstk
__chk_fail
CleanupPerAppKey
ConditionVariableFallback::wait\(.*\)
core::ops::function::Fn::call<T>
core::option::expect_failed
core::option::expect_none_failed
core::ptr::drop_in_place
core::ptr::real_drop_in_place
core::result::unwrap_failed
core::slice::slice_index_order_fail
core::str::slice_error_fail
CrashInJS
CreateFileMappingA
__cxxabiv1::failed_throw
CxxThrowException
__delayLoadHelper2
dlmalloc
dlmalloc_trim
dvm
__entry_from_strcat_in_strcpy
EtwEventEnabled
extent_
fastcopy_I
fastzero_I
__fdelt_chk
__fdelt_warn
_files_getaddrinfo
FindElementCommon
.*free
__fortify_fail
__fortify_fail_abort
___forwarding___
__forwarding_prep_0___
free_impl
__fsetlocking
CCGraphBuilder::NoteXPCOMChild
Gecko_FinalizeCString
Gecko_SetLengthCString
getanswer
GetTickCount64
gfxPlatform::Init
__GI___strlen_sse2
__GI_memcpy
__GI_strlen
gsignal
handle_errorf
handle_response
HandleInvalidParameter
hashbrown::raw::Fallibility::alloc_err
hashbrown::raw::RawTable<T>::new_uninitialized<T>
HeapFree
huge_dalloc
huge_palloc
ialloc
imalloc
init_library
InvalidArrayIndex_CRASH
invalid_parameter_noinfo
_invalid_parameter_noinfo
isalloc
jemalloc_crash
je_
JNI_CreateJavaVM
_JNIEnv
JNI_GetCreatedJavaVM
js::AutoCompartment::AutoCompartment
js::AutoEnterOOMUnsafeRegion::crash
js::detail::HashTable<.*>::
js::HashSet<.*>::
js::HashMap<.*>::
js::LifoAlloc::getOrCreateChunk
JSAutoCompartment::JSAutoCompartment
JS_DHashTableEnumerate
JS_DHashTableOperate
JS_NewStringCopyZ
js_strlen
KiFastSystemCall
kill
__libc_android_abort
__libc_message
libc\.so(\.\d+)?@0x
libc-\d+\.\d+(\.\d+)?\.so@0x
libart\.so@0x
libobjc.A.dylib@0x1568.
(libxul\.so|xul\.dll|XUL)@0x
LL_
lstrcatA
lstrlenA
malloc
mbrtoc32
_MD_
memcmp
__memcmp_avx2_movbe
__memcmp_ia32
__memcmp_sse2
__memcmp_sse4_1
__memcmp_ssse3
__memcmp16
_platform_memcmp
__platform_memcmp
memcpy
__memcpy.*
memmove
__memmove_avx_unaligned_erms
__memmove_avx_unaligned
__memmove_ssse3_back
__memmove_ssse3
memset
MessageLoop::PostTask_Helper
MessageLoop::PostTask
mozalloc_abort
mozalloc_handle_oom
moz_free
moz_malloc_size_of
mozilla::AndroidBridge::AutoLocalJNIFrame::~AutoLocalJNIFrame
mozilla::CheckCheckedUnsafePtrs<T>::Check
mozilla::CondVar::
mozilla::detail::ConditionVariableImpl::
mozilla::detail::HashTable<.*>::
mozilla::detail::InvalidArrayIndex_CRASH
mozilla::detail::nsTStringRepr<T>::
mozilla::dom::ToJSValue
mozilla::DOMEventTargetHelper::AddRef
mozilla::MozPromise<T>::ThenCommand<T>::Track
mozilla::MozPromise<T>::ThenInternal
SleepConditionVariableCS
SleepConditionVariableSRW
mozilla::TimeStamp::Now
mozilla::detail::MutexImpl::
mozilla::detail::nsStringRepr::First
mozilla::detail::nsStringRepr::Last
mozilla::detail::SupportCheckedUnsafePtrImpl<T>::~SupportCheckedUnsafePtrImpl
mozilla::ipc::LogicError
mozilla::ipc::MessageChannel::AssertWorkerThread
mozilla::ipc::MessageChannel::Call
mozilla::ipc::MessageChannel::Clear
mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame
mozilla::ipc::MessageChannel::~MessageChannel
mozilla::ipc::MessageChannel::Send
mozilla::ipc::RPCChannel::Call
mozilla::ipc::RPCChannel::CxxStackFrame::CxxStackFrame
mozilla::ipc::RPCChannel::EnteredCxxStack
mozilla::ipc::RPCChannel::Send
mozilla::ipc::Shmem::OpenExisting
mozilla::ipc::IToplevelProtocol::ShmemCreated
mozilla::layers::CompositorD3D11::Failed
mozilla::layers::CompositorD3D11::HandleError
mozilla::SpinEventLoopUntil<T>
mozilla::TaskController::GetRunnableForMTTask
mozilla::WrapNotNull<
mozilla.*FatalError
moz_xmalloc
moz_xrealloc
MOZ_CrashOOL
MOZ_CrashPrintf
msvcr120\.dll@0x
\<name omitted\>
NP_Shutdown
(NS_)?(Lossy)?(Copy|Append|Convert).*UTF
NS_CycleCollectorSuspect3
nsACString_internal::Assign
nsAString_internal::Assign
nsACString_internal::BeginWriting
nsAString_internal::BeginWriting
nsACString_internal::SetCapacity
-\[NSApplication _crashOnException:\]
nsCRT::strcmp
-\[NSObject doesNotRecognizeSelector:\]
nsTArrayInfallibleAllocator
NS_strcmp
NS_strlen
nsBaseHashtable<.*>::
nsClassHashtable<.*>::
nsCOMPtr
NS_ABORT_OOM
nsDataHashtable<.*>::
NS_DebugBreak
nsDebugImpl::Abort
nsDependentString::nsDependentString
nsEventQueue::GetEvent
nsThread::GetEvent
nsThread::nsChainedEventQueue::GetEvent
[-+]\[NSException raise(:format:(arguments:)?)?\]
nsInterfaceHashtable<.*>::
nsINode::Slots
nsTSubstring<T>::Append
nsJSThingHashtable<.*>::
nsObjCExceptionLogAbort
NS_QuickSort
nsRefPtr
NSS
nss
nsStringBuffer::FromDataCanaryCheckFailed
nsTArray<
nsTArray_base<
nsTArray_Impl<
nsTHashtable<.*>::
nsTSubstring<.*>::Assign
nsThread::Shutdown
NtUser
NXMapRemove
objc_exception_rethrow
objc_exception_throw
objc_addExceptionHandler
objc_msgSend
objc_release
objc_retain
operator new
o_strcat_s
<.*>::operator()
pages_commit
PLDHashTable::
PL_
port_
PORT_
_PR_
PR_
.*ProcessNextEvent
__psynch_cvwait
_pthread_cond_wait
__pthread_cond_wait
pthread_cond_signal_thread_np
pthread_mutex_lock
pthread_mutex_trylock
__pthread_kill
pthread_kill
__pthread_mutex_lock
_purecall
raise
RpcpRaiseException
RpcRaiseException
realloc
recv
.*ReentrantMonitor::Wait
RefPtr
ReleaseData
_RTC_Terminate
Rtl
_Rtl
__Rtl
__rust_start_panic
SEC_.*Item
seckey_
SECKEY_
__semwait_signal
send
servo_arc::Arc<T>::drop_slow
SetEvent
setjmp
sigblock
sigprocmask
SocketAccept
SocketAcceptRead
SocketAvailable
SocketAvailable64
SocketBind
SocketClose
SocketConnect
SocketGetName
SocketGetPeerName
SocketListen
SocketPoll
SocketRead
SocketRecv
SocketSend
SocketShutdown
SocketSync
SocketTransmitFile
SocketWrite
SocketWritev
ssl_
SSL_
__stack_chk_fail
std::alloc::rust_oom
std::_Allocate
std::_Func_impl_no_alloc<T>::_Do_call
std::_Hash<T>::
std::list<.*>::
std::collections::hash::map::
std::vector<T>::_Emplace_reallocate<T>
stdext::hash_map<T>::
strcat
strncmp
ssl3_
strchr
strcmp
strcpy
__strcpy_chk
.*strdup
StringBeginsWith
StringEndsWith
strlen
__strlen_avx2
__strlen_sse2_bsf
_platform_strlen
strncpy
strzcmp16
strstr
syscall
__swrite
TlsGetValue
TouchBadMemory
# NOTE(willkg): "trunc" is a prefix for a bunch of possible frames
# so best to keep it in the prefix list where the frame is added to
# the signature rather than dropped
trunc
__ulock_wait
__unlink
unlink
vcruntime140\.dll@0x
_VEC_memcpy
_VEC_memzero
.*WaitFor
wcslen
wcsrtombs
wcscpy_s
# NOTE(willkg): continue past wayland symbols
wl_(array|proxy)_.*
__wrap_realloc
WSARecv
WSASend
_ZdaPvRKSt9nothrow_t"
zzz_AsmCodeRange_
.*DebugAbort
mozilla::ipc::MessageChannel::~MessageChannel
mozilla::MakeUnique<.*>
mozilla::UniquePtr<T>::reset

# Always continue for .dll files
.*\.dll

# platform-specific memset implementations
avx::memset16
avx::memset32
neon::memset32
portable::memset32
sk_memset32
sk_memset32_dither
SK_OPTS_NS::memset32
sse2::memset32
sse2::memsetT<T>

# platform-specific strcmp implementations
__strcmp_avx2
__strcmp_sse2_unaligned
__strcmp_sse4_2
__strcmp_ssse3
__GI_strcmp
__GI___strcmp_ssse3
g_strcmp0
_platform_strcmp
lstrcmpA
lstrcmpW
lstrcmpiA
lstrcmpiW
wstrcmp
