Page MenuHomePhabricator

Fix a fatal in Diviner when atoms extend ghosts
ClosedPublic

Authored by epriestley on Jun 15 2015, 3:03 PM.
Tags
None
Referenced Files
F14058639: D13300.diff
Sun, Nov 17, 1:31 PM
F14029233: D13300.id.diff
Fri, Nov 8, 8:11 PM
F14029095: D13300.id.diff
Fri, Nov 8, 7:24 PM
F13968198: D13300.id32169.diff
Oct 16 2024, 7:16 PM
Unknown Object (File)
Oct 9 2024, 4:22 AM
Unknown Object (File)
Oct 7 2024, 2:32 AM
Unknown Object (File)
Sep 18 2024, 11:59 PM
Unknown Object (File)
Sep 18 2024, 11:54 PM
Subscribers

Details

Summary

Fixes T8547. I wasn't immediately able to reproduce this locally (although I didn't try too hard), but I think the issue is that when atoms extend ghosts (probably they are usually ghosts themselves?), we try to check the ghost language and fatal.

Instead, don't match ghosts when figuring out what an atom extends.

This could maybe be a little cleaner (match the ghosts, at lower priority, and show that they're ghosts?) but I'm not sure there's a real product use case for it, and this looks like a safer way to stop the bleeding for now.

Test Plan

Poked around Diviner locally.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Fix a fatal in Diviner when atoms extend ghosts.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: joshuaspence.
src/applications/diviner/query/DivinerAtomQuery.php
227

Specifically, this is where we get into trouble: $xatom is a ghost, so $xatom->getAtom() returns null.

This revision is now accepted and ready to land.Jun 15 2015, 8:50 PM
This revision was automatically updated to reflect the committed changes.