I am running RedHat 7.3 with PostgreSQL 7.2.1. I downloaded the drupal 4.0.0.tgz file and installed it under my docoot (http://my.site.com/drupal/).

I ran the database.pgsql install script, wich worked fine (after changing the username from 'root' to 'postgres'.

I then went to http://my.site.com/drupal. There were two links: Home and User Account. I clicked on 'User Account', filled out the creation form, and pressed submit.

My machine suddenly started to sound like it was doing lots of work. I checked 'top' to see that apache and postgres were now taking 45% CPU each..bringing the box to it's knees.

After 30 seconds, the build in PHP request timeout kicked in at common.inc line 380:

function check_query($text) {
return addslashes(stripslashes($text)); <-- line 380
}

So I put a print statement just above the return statement to see what was going on:

function check_query($text) {
print "TEXT: $text\n
";
return addslashes(stripslashes($text));
}

I then re-submitted my user creation form, and saw this:

TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: error
TEXT: database: DB Error: unknown error query: SELECT u.*, r.name AS role FROM users u LEFT JOIN role r ON u.rid = r.rid WHERE u.sid = 'd27836c7972ba09c98db7c4ba556303e' AND u.status = '1' AND u.status < 3 LIMIT 1
TEXT: /drupal/module.php?mod=user
TEXT: 66.127.62.250
TEXT: 1027487549
TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: error
TEXT: database: DB Error: no such table query: SELECT name, filename FROM system WHERE type = 'module' AND status = '1' ORDER BY name
TEXT: /drupal/module.php?mod=user
TEXT: 66.127.62.250
TEXT: 1027487549
TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: error
TEXT: database: DB Error: no such table query: SELECT * FROM system where type = 'theme' AND status = '1' ORDER BY name
TEXT: /drupal/module.php?mod=user
TEXT: 66.127.62.250
TEXT: 1027487549
TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: warning
TEXT: No valid themes enabled.
TEXT: /drupal/module.php?mod=user
TEXT: 66.127.62.250
TEXT: 1027487549
TEXT: SELECT name FROM users WHERE LOWER(name) = LOWER('%s')
TEXT: jbuberel
TEXT: SELECT mail FROM users WHERE LOWER(mail) = LOWER('%s')
TEXT: jason@buberel.org
TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: user
TEXT: new user: 'jbuberel'
TEXT: /drupal/module.php?mod=user
TEXT: 66.127.62.250
TEXT: 1027487549
TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: error
TEXT: database: DB Error: syntax error query: SHOW FIELDS FROM users

...but then it just kept coming, and coming, and coming...

TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: error
TEXT: database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', 'error', 'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: no such field query: INSERT INTO users (pass, data) VALUES (\'5bdd11934f56eed7daa79bfb6a8a65b8\', \'a:6:{s:4:&amp;amp;amp;amp;quot;name&amp;amp;amp;amp;quot;;s:8:&amp;amp;amp;amp;quot;jbuberel&amp;amp;amp;amp;quot;;s:4:&amp;amp;amp;amp;quot;init&amp;amp;amp;amp;quot;;s:17:&amp;amp;amp;amp;quot;jason@buberel.org&amp;amp;amp;amp;quot;;s:4:&amp;amp;amp;amp;quot;mail&amp;amp;amp;amp;quot;;s:17:&amp;amp;amp;amp;quot;jason@buberel.org&amp;amp;amp;amp;quot;;s:3:&amp;amp;amp;amp;quot;rid&amp;amp;amp;amp;quot;;N;s:6:&amp;amp;amp;amp;quot;status&amp;amp;amp;amp;quot;;i:1;s:9:&amp;amp;amp;amp;quot;timestamp&amp;amp;amp;amp;quot;;i:1027487549;}\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')', '/drupal/module.php?mod=user', '66.127.62.250', '1027487549')
TEXT: /drupal/module.php?mod=user
TEXT: 66.127.62.250
TEXT: 1027487549
TEXT: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', '%s', '%s', '%s', '%s', '%s')
TEXT: error
TEXT: database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES ('', 'error', 'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: unknown error query: INSERT INTO watchdog (uid, type, message, location, hostname, timestamp) VALUES (\'\', \'error\', \'database: DB Error: no such field query: INSERT INTO users (pass, data) VALUES (\'5bdd11934f56eed7daa79bfb6a8a65b8\', \'a:6:{s:4:&amp;amp;amp;amp;amp;quot;name&amp;amp;amp;amp;amp;quot;;s:8:&amp;amp;amp;amp;amp;quot;jbuberel&amp;amp;amp;amp;amp;quot;;s:4:&amp;amp;amp;amp;amp;quot;init&amp;amp;amp;amp;amp;quot;;s:17:&amp;amp;amp;amp;amp;quot;jason@buberel.org&amp;amp;amp;amp;amp;quot;;s:4:&amp;amp;amp;amp;amp;quot;mail&amp;amp;amp;amp;amp;quot;;s:17:&amp;amp;amp;amp;amp;quot;jason@buberel.org&amp;amp;amp;amp;amp;quot;;s:3:&amp;amp;amp;amp;amp;quot;rid&amp;amp;amp;amp;amp;quot;;N;s:6:&amp;amp;amp;amp;amp;quot;status&amp;amp;amp;amp;amp;quot;;i:1;s:9:&amp;amp;amp;amp;amp;quot;timestamp&amp;amp;amp;amp;amp;quot;;i:1027487549;}\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')\', \'/drupal/module.php?mod=user\', \'66.127.62.250\', \'1027487549\')', '/drupal/module.php?mod=user', '66.127.62.250', '1027487549')
TEXT: /drupal/module.php?mod=user

The following dozens of megabytes of output (no kidding) just shows the same watchdog insert statement getting larger and larger utnil finally, I gave up.

Any help would be greatly appreciated.

jason
jason@buberel.org

Comments

amd’s picture

It looks like that watchdog should be disabled for database errors...
Or at least add a check to watchdog that checks if SQL query succeeds.
If it doesn't succeed, then exits with error and sends email to admin... or something else...
--
I don't believe in fate.

moshe weitzman’s picture

The postgres version of Drupal had fallen behind the general codebase. It is now actively being worked on. Use CVS Drupal for a much better experience.

teamonkey’s picture

As you may have guessed here, the problem is that there's a dodgy SQL query being executed. The database error logged in the watchdog table includes this query, but the query is greater than 255 characters long. This fails to be inserted into the watchdog table, because the message field length is only 255 characters long, so the error trapping is called again and again and again...

I have submitted a patch that changes the message field to type text, but it's not yet been included in the CVS tree.

[teamonkey]