Summary: | REGRESSION(r230269): ASSERTION FAILED: sendRightCount == 1 at ProcessLauncherMac.mm(218) | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||
Component: | WebKit2 | Assignee: | Brent Fulgham <bfulgham> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | andersca, ap, beidson, cdumez, commit-queue, ddkilzer, mitz | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Chris Dumez
2018-05-16 10:29:11 PDT
This assertion was meant to help identify cases where we had poor bookkeeping and attempted to remove send rights that we did not have. Limiting the assertion to a single send-right is probably too conservative, since the port could have been granted other send-rights during other operations. I do think it would be worrisome to attempt to remove a send right when we don't have one (that would indicate an out-of-balance condition, and possible corruption of the port space). Let's change the assertion to check that we have AT LEAST ONE send right before we remove it. Created attachment 341209 [details]
Patch
Comment on attachment 341209 [details] Patch Clearing flags on attachment: 341209 Committed r232160: <https://trac.webkit.org/changeset/232160> All reviewed patches have been landed. Closing bug. Comment on attachment 341209 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=341209&action=review > Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:218 > - ASSERT(sendRightCount == 1); > + ASSERT(sendRightCount >= 1); This essentially checks that sendRightsCount is not 0. Is it possible to have a port with zero send rights? (In reply to Anders Carlsson from comment #6) > Comment on attachment 341209 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=341209&action=review > > > Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm:218 > > - ASSERT(sendRightCount == 1); > > + ASSERT(sendRightCount >= 1); > > This essentially checks that sendRightsCount is not 0. Is it possible to > have a port with zero send rights? Yes - though I'm not sure under what circumstances that happens. Apparently you can pass send rights around, but I don't believe WebKit attempts to do that. |