Welcome to Geeklog, Anonymous Friday, March 29 2024 @ 06:44 am EDT

Geeklog Forums

dokuwiki dependencies in PHP


Status: offline

remy

Forum User
Full Member
Registered: 06/09/03
Posts: 162
Location:Rotterdam & Bonn
Installing the latest plugin version dokuwiki_1.8.1_1.8.0 (obtained from geeklolog.fr) into my geeklog 2.0.0 installation. That went amazingly well.
Than followed some instructions: change acl.auth.php.dist to acl.auth.php and adjusted the permissions on the data directory. There is also a .htaccess.dist which is not mentioned in the install doc. Despite these changes, I receive the following error:

2 - stream_select() [function.stream-select]: You MUST recompile PHP with a larger value of FD_SETSIZE. It is set to 1024, but you have descriptors numbered at least as high as 1983. --enable-fd-setsize=2048 is recommended, but you may want to set it to equal the maximum number of open files supported by your system, in order to avoid seeing this error again at a later date. @ <snipped>/dokuwiki/inc/HTTPClient.php line 341


Exclamation I've found out that this error already was detected somewhere in 2011 by Ben. A change in dokuwiki (waiting for 10 microseconds) was issued. So this one must be something different.
Question I don't think I can convince my hoster to recompile PHP. I fear now, that dokuwiki hits a boundary, some other plugin may do the same. Is there a workaround for this error?
 Quote

Status: offline

::Ben

Forum User
Full Member
Registered: 01/14/05
Posts: 1569
Location:la rochelle, France
There is a known bug in php on windows machine. May it is your case ?

Ben
I'm available to customise your themes or plugins for your Geeklog CMS
 Quote

Status: offline

remy

Forum User
Full Member
Registered: 06/09/03
Posts: 162
Location:Rotterdam & Bonn
No, not really. I'm hosting at hosteurope.
@Ben: They "diagnosed" the same problem you had in 2011.
 Quote

Status: offline

Laugh

Site Admin
Admin
Registered: 09/27/05
Posts: 1468
Location:Canada
You may have already seen this remy about a fix for this issue on hosteurope.

https://bugs.dokuwiki.org/?do=details&amp;task_id=2276

Check at the bottom for a possible solution.

BTW I have never seen this error before.


One of the Geeklog Core Developers.
 Quote

Status: offline

::Ben

Forum User
Full Member
Registered: 01/14/05
Posts: 1569
Location:la rochelle, France
Tom you are right, this might be a solution

Can you guys try the following please? Edit inc/HTTPClient.php and change line 341 from this:

if(stream_select($sel_r,$sel_w,$sel_e,1) === false) continue;

to this:

if(@stream_select($sel_r,$sel_w,$sel_e,1) === false){
usleep(1000);
continue;
}

then check a page that has an embedded RSS feed adding ?purge=1 to the URL to force a reload (eg. http://yoursite.com/doku.php?id=wiki:syntax&purge=1#rss_atom_feed_aggregation ). Can you confirm the error message is gone and the feed loads correctly all the time?


Remy, I do not remember having encountered this error.

Ben
I'm available to customise your themes or plugins for your Geeklog CMS
 Quote

Status: offline

remy

Forum User
Full Member
Registered: 06/09/03
Posts: 162
Location:Rotterdam & Bonn
I was aware of the posting at the dokuwiki wiki. Somebody named "Benjamin" posted there and acknowledged that the usleep in fact worked.
I've found out that this error already was detected somewhere in 2011 by Ben. A change in dokuwiki (waiting for 10 microseconds) was issued.

Angry The mistake I've made, is to assume that the "Benjamin" in those posts is the same person as "Ben" in here. Angry Angry And the story then goes, that, if Benjamin equals Ben, THAN that patch is present in the tar ball I got from gfeeklog.fr.

Well, I now do think that the patch operates differently on php5.3. And it looks like a memory leak to me.
I will look into it, now I know that that very stream-select line is the real cause.

I'll post the results here, which can last a bit.
 Quote

Status: offline

remy

Forum User
Full Member
Registered: 06/09/03
Posts: 162
Location:Rotterdam & Bonn

The described patch causes the error message to disappear.
More testing could be useful.

This is what I did:
-- deleted the plugin dokuwiki: directories in <public_html> and <geeklog> are NOT deleted
-- removed the residue directories by hand (in /dokuwiki, /admin, /plugins)
-- installed the plugin again as described
-- experimenting:
---- use of timeout == 2: no luck
---- suppressing error messages: no luck
---- patch as described: bingo.

Arrow It seems to me that the error is triggered when getting the feeds at dokuwiki.org, which is default and standard.
These feeds show several new releases since "Rincewind", wich dates back to 2011.
 Quote

Status: offline

remy

Forum User
Full Member
Registered: 06/09/03
Posts: 162
Location:Rotterdam & Bonn
It turns out that the popularity plugin of dokuwiki is causing the error.
This plugin gathers data from the site and forwards it to dokuwiki.org.
The dokuwiki administration menu features a feedback option that goes thru this plugin.

@Ben: you might try that once; you get the same error when the script is not patched.

The problem is, of course, that the feedback feature is enabled by default (not very nice). This leaves dokuwiki in a unusable state, since any feature (also the configuration options) automatically triggers the feedback. Workaround:

@Ben: you might add to your install instructions at geeklog.fr to also remove the file /dokuwiki/data/cache/autosubmit.txt and you will be fine. This file is NOT in the tarball and is created during install.

Drawback: as soon as you use the manual feedback option in the administration AND forget to de-activate the checkbox "Automatically send data once a month", you will receive the same error again, anytime.


 Quote

All times are EDT. The time is now 06:44 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content