Closed
Bug 1175510
Opened 10 years ago
Closed 10 years ago
Crash when running the DT2 demo
Categories
(Core :: Audio/Video, defect)
Core
Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla42
Tracking | Status | |
---|---|---|
firefox40 | --- | unaffected |
firefox41 | + | fixed |
firefox42 | --- | fixed |
People
(Reporter: bbouvier, Assigned: padenot)
References
Details
(Keywords: crash, regression, Whiteboard: [games])
Crash Data
Attachments
(1 file, 3 obsolete files)
4.46 KB,
patch
|
karlt
:
review+
ritu
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
STR:
- http://beta.unity3d.com/jonas/DT2/
- click play (no matter which one)
Observed:
Crash!
Some crash reports of mine:
bp-1b86e5e5-c646-45dc-afdb-1ca7e2150617
bp-08aacd1c-6220-445e-85fd-d5d1c2150617
Someone tested that and confirmed the crash:
bp-6be4613f-2741-4278-bfd8-7f1542150617
![]() |
||
Updated•10 years ago
|
Whiteboard: [games]
![]() |
||
Comment 1•10 years ago
|
||
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=c0ef8de6093e&tochange=7d4c3379ecb3
Suspect: Bug 974089
Blocks: 974089
Keywords: regressionwindow-wanted → regression
![]() |
||
Comment 2•10 years ago
|
||
[Tracking Requested - why for this release]:
Severity: normal → critical
status-firefox40:
--- → unaffected
status-firefox41:
--- → affected
tracking-firefox41:
--- → ?
Keywords: crash
Adding a tracking flag for FF41. This does not repro on FF40.0a2 (2015-06-03).
Added links in crash signature field.
Crash Signature: https://crash-stats.mozilla.com/report/index/1b86e5e5-c646-45dc-afdb-1ca7e2150617
https://crash-stats.mozilla.com/report/index/08aacd1c-6220-445e-85fd-d5d1c2150617
![]() |
||
Updated•10 years ago
|
Crash Signature: https://crash-stats.mozilla.com/report/index/1b86e5e5-c646-45dc-afdb-1ca7e2150617
https://crash-stats.mozilla.com/report/index/08aacd1c-6220-445e-85fd-d5d1c2150617 → [@ mozilla::MediaStream::GraphImpl()]
Assignee | ||
Comment 5•10 years ago
|
||
Yeah we should null-check or something. I'll get to it on the plane tomorrow.
Assignee: nobody → padenot
Assignee | ||
Comment 6•10 years ago
|
||
Attachment #8625157 -
Flags: review?(karlt)
Assignee | ||
Comment 7•10 years ago
|
||
Oops we need to null-check here, this can be called from the CC.
Attachment #8625165 -
Flags: review?(karlt)
Assignee | ||
Updated•10 years ago
|
Attachment #8625157 -
Attachment is obsolete: true
Attachment #8625157 -
Flags: review?(karlt)
Comment 8•10 years ago
|
||
Comment on attachment 8625165 [details] [diff] [review]
Update the AudioBufferSourceNode <=> PannerNode mapping when destroying AudioNodeStream. r=
This approach looks good thanks, but should be adjusted to avoid adding inefficiency.
>+ // Maybe we are destroying an AudioBufferSourceNode's stream. Update the
>+ // panner <-> source mapping so we don't try to send the doppler to a
>+ // destroyed stream.
>+ if (Context()) {
>+ Context()->UpdatePannerSource();
>+ }
UpdatePannerSource() is not O(1) so this could be expensive if done for every
node. It should be moved to AudioBufferSourceNode::DestroyMediaStream()
override so that it is not called more often than currently.
I would call UnregisterAudioBufferSourceNode() because UpdatePannerSource() is
an implementation detail.
The calls to UnregisterAudioBufferSourceNode() from ~AudioBufferSourceNode()
and the AudioBufferSourceNode unlink code can now be removed, because
DisconnectFromGraph() calls DestroyMediaStream(), and DisconnectFromGraph() is
called from AudioBufferSourceNode unlink code and from AudioNode::Release().
Attachment #8625165 -
Flags: review?(karlt) → review-
Assignee | ||
Comment 9•10 years ago
|
||
Is this what you had in mind ?
Attachment #8628272 -
Flags: review?(karlt)
Assignee | ||
Updated•10 years ago
|
Attachment #8625165 -
Attachment is obsolete: true
Assignee | ||
Comment 10•10 years ago
|
||
The previous fix was wrong and not complete. First I was updating the
panner/node mapping right before destroying the stream, so the changes would not
have been picked up.
Then, we are computing the panner/source mapping using node connections, and not
stream connections, because we're on the main thread, so we need to check if the
node has a stream when deciding if a node is to be registered (nodes that don't
have streams are finished, so it's okay to not adjust their doppler shift).
With this, I've verified that the crash in comment 0 is fixed.
Attachment #8628608 -
Flags: review?(karlt)
Assignee | ||
Updated•10 years ago
|
Attachment #8628272 -
Attachment is obsolete: true
Attachment #8628272 -
Flags: review?(karlt)
Comment 11•10 years ago
|
||
Comment on attachment 8628608 [details] [diff] [review]
Update the AudioBufferSourceNode <=> PannerNode mapping when destroying AudioNodeStream. r=
>+ // Check if this node is an AudioBufferSourceNode that still have a stream,
>+ // which means it is still playing.
Can you reword this please so as not to imply that it has necessarily started playing? Perhaps just "it has not finished playing".
Attachment #8628608 -
Flags: review?(karlt) → review+
Comment 13•10 years ago
|
||
Comment 14•10 years ago
|
||
Flags: in-testsuite- → in-testsuite+
Comment 15•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Comment 16•10 years ago
|
||
Comment on attachment 8628608 [details] [diff] [review]
Update the AudioBufferSourceNode <=> PannerNode mapping when destroying AudioNodeStream. r=
Approval Request Comment
[Feature/regressing bug #]: bug 974089
[User impact if declined]: crash running game
[Describe test coverage new/current, TreeHerder]: added new crashtest
[Risks and why]:
There is perhaps a small risk of ownership but the code is not so complex, so I don't think we've missed anything.
[String/UUID change made/needed]: none.
Attachment #8628608 -
Flags: approval-mozilla-aurora?
Comment 17•10 years ago
|
||
Comment on attachment 8628608 [details] [diff] [review]
Update the AudioBufferSourceNode <=> PannerNode mapping when destroying AudioNodeStream. r=
Approving for uplift to Aurora. A crash test was added to verify the fix.
Attachment #8628608 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 18•10 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•