Closed
Bug 1175510
Opened 9 years ago
Closed 9 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•9 years ago
|
Whiteboard: [games]
Comment 1•9 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•9 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•9 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•9 years ago
|
||
Yeah we should null-check or something. I'll get to it on the plane tomorrow.
Assignee: nobody → padenot
Assignee | ||
Comment 6•9 years ago
|
||
Attachment #8625157 -
Flags: review?(karlt)
Assignee | ||
Comment 7•9 years ago
|
||
Oops we need to null-check here, this can be called from the CC.
Attachment #8625165 -
Flags: review?(karlt)
Assignee | ||
Updated•9 years ago
|
Attachment #8625157 -
Attachment is obsolete: true
Attachment #8625157 -
Flags: review?(karlt)
Comment 8•9 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•9 years ago
|
||
Is this what you had in mind ?
Attachment #8628272 -
Flags: review?(karlt)
Assignee | ||
Updated•9 years ago
|
Attachment #8625165 -
Attachment is obsolete: true
Assignee | ||
Comment 10•9 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•9 years ago
|
Attachment #8628272 -
Attachment is obsolete: true
Attachment #8628272 -
Flags: review?(karlt)
Comment 11•9 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 14•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/925c04c394e7
Flags: in-testsuite- → in-testsuite+
Comment 15•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/8b10b297cec0
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Comment 16•9 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 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+
You need to log in
before you can comment on or make changes to this bug.
Description
•