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
Unknown Object (File)
Sat, Jan 25, 2:17 AM
Unknown Object (File)
Fri, Jan 24, 6:22 AM
Unknown Object (File)
Fri, Jan 24, 6:22 AM
Unknown Object (File)
Fri, Jan 24, 6:22 AM
Unknown Object (File)
Fri, Jan 24, 6:22 AM
Unknown Object (File)
Tue, Jan 21, 9:15 AM
Unknown Object (File)
Thu, Jan 2, 2:59 AM
Unknown Object (File)
Dec 30 2024, 3:42 AM
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
Branch
divf1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 6785
Build 6807: [Placeholder Plan] Wait for 30 Seconds

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.