I think this might only happen in a few specific cases, but a site I'm working on broke when I upgraded from Domain 3.4 to 3.8. I found out that at least one node_load() was triggering a domain_source_lookup(), which tried to load the same node again.
According to the backtrace, one of the text fields of a node has pathologic filter the links in it, which calls url(), which allows domain to alter the URL. It might be that the node has a link to itself that is the real cause of the problem. Unfortunately, I can't really wade through thousands of nodes and text fields, so I'm using the attached patch.
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | 1930212-domain-source-recursion.patch | 1.19 KB | agentrickard |
| domain_source_lookup_recursion.patch | 949 bytes | Island Usurper |
Comments
Comment #1
Island Usurper commentedNo, this is the correct status.
Comment #2
agentrickardInteresting. This refactor was introduced to be more consistent, but I see that domain_get_node_match() -- which calls this hook -- doesn't do a node_load() either, so perhaps the straight lookup is ok here.
The patch does need a re-roll against dev.
Comment #3
agentrickardHere's the re-roll. Needs a review. Tests still pass.
Comment #4
agentrickardPositive review over in #1914744: Update Time. Committing.
Comment #5
agentrickardComment #6
agentrickardNote that this reverts the change in #1917190: Notice: Trying to get property of non-object in domain_source_lookup() (line 273 of domain_source.module)..