Closed Bug 1687583 Opened 4 years ago Closed 2 months ago

Hit MOZ_CRASH() at src/xpcom/build/LateWriteChecks.cpp:120

Categories

(Core :: XPCOM, defect)

defect

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
firefox86 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

This was found while trying to collect a rr trace for another issue with m-c 20210119-b0f61f0266c2

Hit MOZ_CRASH() at src/xpcom/build/LateWriteChecks.cpp:

#0 0x525c8bb07a in LateWriteObserver::Observe(mozilla::IOInterposeObserver::Observation&) src/xpcom/build/LateWriteChecks.cpp:120:3
#1 0x525c8ba30d in (anonymous namespace)::PerThreadData::CallObservers(mozilla::IOInterposeObserver::Observation&) src/xpcom/build/IOInterposer.cpp:128:13
#2 0x525c8b97cb in mozilla::IOInterposer::Report(mozilla::IOInterposeObserver::Observation&) src/xpcom/build/IOInterposer.cpp:477:8
#3 0x525c8b96f7 in mozilla::IOInterposeObserver::Observation::Report() src/xpcom/build/IOInterposer.cpp:384:5
#4 0x525c8ac98e in (anonymous namespace)::NSPRIOAutoObservation::~NSPRIOAutoObservation() src/xpcom/build/NSPRInterposer.cpp:76:39
#5 0x525c8ac35f in (anonymous namespace)::interposedWrite(PRFileDesc*, void const*, int) src/xpcom/build/NSPRInterposer.cpp:105:1
#6 0x3e6b2e2253ea in PR_Write src/nsprpub/pr/src/io/priometh.c:114:12
#7 0x5266e2f92e in mozilla::(anonymous namespace)::DoWriteAtomicEvent::WriteAtomic(int*) src/toolkit/components/osfile/NativeOSFileInternals.cpp:1055:9
#8 0x5266e2ef95 in mozilla::(anonymous namespace)::DoWriteAtomicEvent::Run() src/toolkit/components/osfile/NativeOSFileInternals.cpp:915:19
#9 0x525c841e78 in nsThreadPool::Run() src/xpcom/threads/nsThreadPool.cpp:301:14
#10 0x525c839147 in nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1200:14
#11 0x525c83f6a6 in NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:548:10
#12 0x525d9ef806 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:332:5
#13 0x525d873246 in MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:334:10
#14 0x525d8731c4 in MessageLoop::RunHandler() src/ipc/chromium/src/base/message_loop.cc:327:3
#15 0x525d873182 in MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:309:3
#16 0x525c8354b9 in nsThread::ThreadFunc(void*) src/xpcom/threads/nsThread.cpp:441:10
#17 0x3e6b2e25e444 in _pt_root src/nsprpub/pr/src/pthreads/ptthread.c:201:5
#18 0x165b264436da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)
#19 0xe3c21431a3e in clone /build/glibc-2ORdQG/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Doug, this might be relevant to your interests.

Flags: needinfo?(dothayer)

A Pernosco session is available here: https://pernos.co/debug/fDjGsQS3qp4AR1dLACx2lw/index.html

Sorry for the delay here - I'm not sure if the Pernosco session is expired or if I'm not authorized to view it? Please let me know if you still have it, and apologies if you don't.

Flags: needinfo?(dothayer) → needinfo?(twsmith)

Hey Doug,

Yes the session seems to be expired but you should see this message (or the UI if it has been refreshed):

The debugging database for this trace has expired (typically 7 days after the trace was collected) and is being rebuilt. This may take up to a couple hours.

This page will refresh automatically until that is complete. 

If you don't see that message: https://github.com/Pernosco/pernosco/wiki/Login-Troubleshooting

Flags: needinfo?(twsmith)

So, it looks like we're hitting this ultimately as a result of this. OS.File kind of half-heartedly rejects things past a certain phase of shutdown, but there are ways of things squeeking past it. I am going to leave a needinfo on myself to look into this a little deeper, but I don't think there's much left to squeeze out of the Pernosco session. Thanks for refreshing it!

Flags: needinfo?(dothayer)

(In reply to Doug Thayer [:dthayer] (he/him) from comment #5)

So, it looks like we're hitting this ultimately as a result of this. OS.File kind of half-heartedly rejects things past a certain phase of shutdown, but there are ways of things squeeking past it. I am going to leave a needinfo on myself to look into this a little deeper, but I don't think there's much left to squeeze out of the Pernosco session. Thanks for refreshing it!

As of March, we shouldn't be hitting the LateWriteChecks from ExtensionParent since we are now using IOUtils, which is more aggressive about rejecting IO requests during shutdown.

Flags: needinfo?(dothayer)

This hasn't happened in 2 years, closing as incomplete for now.

Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.