Search

Original problem description

I have a dynamic DS that won't update. I set the cache time to something very low, say 1 minute. Then I wait five minutes, and reload the page and I'm still not getting the most up-to-date XML, and the source xml status is always "stale". Do I empty out the sym_cache table?

Update

After experimenting a bit (see below), it seems that Symphony is not fetching data from any of my dynamic DSes. Connections between the servers appear to be possible, but Symphony is not returning any data. Not sure why.

Well,I had the same problem with a dynamic DS getting XML from the same server - which should be highly responsive. Sometimes it worked, sometimes not. I have not understood the systematics behind it. It may be a bug, but I can not safely repeat it.

I don't know what's going on. I dumped the cache and now I get no data from any of my dynamic DSes. I'm working with our host's support people to see if it's a server thing...

Ok, so it turns out this IS a Symphony problem, I think. I'm able to hit the remote server from the symphony box with telnet crmcustom.ssrc.org 80 and get, so the connection is physically possible from server to server. But for some reason all the dynamic DSes that hit that server, in addition to the one that hits the Tumblr server, aren't returning any data (i.e. none of my dynamic DSes work). They were working at some point so I'm assuming some recent change has rendered them inoperable. The most notable of those changes is that I am working on the optimisation branch.

Thoughts?

I am rather sure that this is the same problem I experienced a long time ago with beta rev5, so I do not assume that a recent code change is responsible for that.

To me this behaviour seems unpredictable. So the question is: How can we isolate this bug?

I'm going to spend some time today trying to chase it down. Will report back.

Is there a timeout? That would explain the inconsistency.

I've tried setting the timeout value very high, and still get no connection. I've tested php cURL connections on the server and they're working.

There's something in the logic in lib/toolkit/datasources/datasource.dynamic_xml.php in the area of line 48-88 that's keeping the DS from fetching. Basically, the block of code from lines 52-71 don't get executed, no matter what. It could have to do with my having emptied the cache table, but that's the only way for me to get it to not return stale data at this point.

...

I do not think it is a timeout problem. As stated above, I struggled with this phenomenon while trying to read an XML page which was produced by Symphony itself. This XML page was very responsive.

The problem is this conditional:

 if(Mutex::acquire($cache_id, 6, TMP)){

Am looking into what that does...

It was permissions. manifest/tmp wasn't writeable. Un. F*king. Believable.

Speaking of permissions, any of you has permission to come and beat me on the head with a large metal spoon. I can't believe I spent two days on a permissions problem.

Thank you, czheng! I will try and check this out soon!

My manifest/tmp on my local install is writable yet not 1 file inside it. Any tips?

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details