Crash in MediaDecoderStateMachine::UpdatePlaybackPositionPeriodically
Categories
(Core :: Audio/Video: Playback, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: drno, Assigned: alwu)
References
Details
Crash Data
Attachments
(2 files)
I had https://www.noisli.com/ playing in the background for quite some time when suddenly the sound ended and I had a crash report in the tab instead.
https://crash-stats.mozilla.org/report/index/1c888f70-286a-4dff-94a5-aa8ee0190412#tab-details
Comment 1•6 years ago
|
||
It's likely a dupe for bug 153377. This is the site that was reported in a few crashes.
Assignee | ||
Comment 2•6 years ago
|
||
Yep, it's also crashing in TimeUnit. I would mark this bug duplicated to bug1534993, which ensures that AudioSink would only return valid position.
Assignee | ||
Comment 3•6 years ago
|
||
I'm able to reproduce this crash on OSX without having a fix from bug1534993. And it seems to me that we should not get overflow in this situation because I only ran this site for around 40 mins, the time didn't larger enough for integer overflow.
Now I'm checking this log to see if I can find something helpful for those similar TimeUnits crashes.
Assignee | ||
Comment 4•6 years ago
|
||
I think I found the real root cause, here we use int32
to process the input [1], but we should use int64
...
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 5•6 years ago
|
||
The time value in TimeUnit is 64 bits so we should use int64 for operator "%" and "/", because most operations we do for TimeUnit is operated with int64.
In addition, using CheckedInt can also ensure we're not using the invalid input.
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 7•6 years ago
|
||
bugherder |
Description
•