By alliax on
Hello,
big problem, I can't access drupal anymore, I have this error as soon as I go to the root directory or if i try to reach the admin part :
Fatal error: Call to undefined function: node_list() in /home/sites/site56/web/toulon/includes/theme.inc on line 227
it was working fine : 4.5.2
i installed image-image assist-image urlfilter
poormanscron and htmlarea
was working fine, but last night after coming back from school I tried to access the site and got this message firsthand, it doesn't want to go. I've check integrity of node.module where node_list() is defined and the file is fine.
I looked on google for this error message but couldn't find anything helpful.
Cheers,
Alliax
Comments
Little precision
I am still totally blocked, cannot enter my drupal installation nor can I see the website. All I get is : Fatal error: Call to undefined function: node_list() in /home/sites/site56/web/toulon/includes/theme.inc on line 227
PLEASE HELP ME quickly, I don't want to erase all installation I've done and start again because then I won't know what went wrong and if that happens again I'll be stuck again.
I have one precision : in the database it seems the last time CRON was updated seems to be from when it started showing the error.
When I try to manually execute cron.php, I get a blank page (normal) with no error message but the variable in the database : node_cron_last is still the same as before, doesn't change, perhaps this is natural behavior.
variable : cron_busy is set at : "b:0;"
I DON'T UNDERSTAND WHAT WENT WRONG, PLEASE HELP !
Cheers,
Alliax
I've contacted someone with the same problem
Since nobody replied yet, I begin to fear that no one will know what is happening to my drupal installation.. (my pessimistic side)
I searched on google for the error message again and contacted one webmaster whose site was cached by google as showing the same error (but the actual site is fine now, so the webmaster would have done something about it)
He replied to me (thank you for doing so) and since I don't have a backup database, I'd have to redo the installation and tuning AND if that happens again I'll still be stuck. IT WON'T TELL ME WHAT WENT WRONG..
What are you doing when that happens, did it ever happened to you ?
Here's the answer from the webmaster (I put it for futur visitors of drupal.org to see what we know about this error message) :
"
Hello!
The only solution I could find was to revert to a backup copy of the database from before the time the problem occurred.
I could reproduce the problem by running a link checking program (LinkLint) on the site. Apparently the flood of hits from the program did something bad to the database somewhere -- I don't know just what or where, but then I know very little about the technical side of Drupal, MySql, etc.
The problem re-appeared several times over a period of a few months. I fiddled with the throttle, to reduce to a bare minimum what Drupal has to do when under heavy load, and since then it hasn't reappeared.
Jim Kalb
"
I have to point out that my site has no problem of heavy load since the URL is not known yet.
Please help if any idea, here's the website showing the error at the moment :
http://www.lycee-cisson.com/toulon/
I can send the mysql dump (export SQL) if anyone is interested in helping me out.
Cheers,
Alliax
Nice one..
In the "watchdog" table I've found this entry :
error user error: Lost connection to MySQL server during query
query: SELECT filename, type, status, throttle FROM system WHERE type = 'module' Ã la ligne 125 du fichier /home/sites/site56/web/toulon/includes/database.mysql.inc.
location : /toulon/admin/modules
epoch time :1106236282
just after that I have plenty of entries that correspond to my following attempts to access the site, they're all the same :
httpd 404 error: node not found.
So it seems after this mysql error something has been messed up. I've had a look at database.mysql.inc at line 125 but there is only this (125: trigger_error) :
What do you think I could tweak in the database in order to get back quickly on tracks and continue with the setup of the site ?
Do you think my shared hosting company is not suitable for drupal and I need to change server first for this lost mysql connection problem not to happen again ?
Definitively something's wrong with the system table
The system table has lots of 0, all needed modules are not active anymore.
How can a lost connection on a SELECT can do this kind of corruption in the database ? Can someone think of a reason ?
Here is sql export :
My system was in french, and I believe (from another drupal installation) that localisation translates those fields in the default language, but on my sql export I have all fields in english... I find it strange..
I'm beginning to feel a bit lonely in here as I talk to myself messages after messages.. ;-)
Please help, it's weekend ! I wish I will have cracked it by monday..
Ok, I'll do as if nothing ever happened..
I've modified in the database with phpmyadmin the table "system" and put back to "1" some of the entries necessary to drupal (took example from a defaut installation like in the original mysql import file)
And the site is back again and I'm switching back on the other modules and will see what other harm has been done if any.
The "system" table has been translated in french after I went to the drupal admin to enable more modules.
Still I don't know what happened, and when it'll happen again.. Next time I'll try to spot what I did wrong to have this mysql error displayed in the "watchdog" table.
A Late Response
Hi there.
Unfortunately this response is way too late to help you, but will hopefully help somebody else.
I hit the same problem. I an activated a number of modules and then suddenly had a mess of database errors, but had no clue which module was creating them. To overcome this, I disabled all non-required modules and wouldn't you know it, the same problem.
Through a bit of a process, I was able to figure out what the problem was. The node module is not required, however if you deactivate it, then you get the mentioned error. I reactivated that module and everything was back to normal (no damage done....).
How to reactivate?
I had the same problem
So, OK, to remove error on line 227 I'll need to reactivate the node module.
However, I imagine that it is necessary to access directly the DB tables, because (almost in my case) the admin/module page is not accessible due to the error, is it?
Do you know which table/field should I modify to reactivate the node module?
Thanks in advance...
Asleep at the Wheel
Sorry,
I didn't check back and see your question here. The table was system and the field I changed was status (from 0 to 1 to activate). I used the name column to pick out the row I wanted (i.e. WHERE name = 'node').
node module throttling
Also "for the record" - my site was throttling 'node' for some reason and disabling the node module as a result causing all sorts of problems resulting from node functions not being available. Difficult to debug too, because I couldn't reach the admin interface either for disabling module or for checking the logs.
This worked for me (in mysql):
update system set throttle=0 where name='node';
I wonder why the node module is allowed to be throttled?
Update: it appears node is not throttled by default (./database/database.mysql), so I must have enabled it. Anyway, seems to me 'node' should never be throttled.