Gossamer Forum
Home : Products : Gossamer Links : Discussions :

Query error

Quote Reply
Query error
Greetings!

I'm getting the following error after successfully importing the entire top level Arts category of the DMOZ. I get the error upon clicking on the Arts link within the dynamically generated index page. The returned page has the below error.

I've performed the CHECK table table_name QUICK|FAST|MEDIUM etc, and it comes back as OK for both of the below mentioned tables.

I've researched past posts but all seem to point to corrupt database tables, which doesn't appear to be the problem here.

mysqld is running fine. I can connect as the Links user via mysql, and perform many different SELECT queries against the involved tables. I simply can't perform the below query.

Ideas?

System Information
======================================
Perl Version: 5.006
Links SQL Version: 2.0.4
DBI.pm Version: 1.20
Persistant Env: mod_perl (0) SpeedyCGI (0)
GT::SQL::error = Failed to execute query: '
SELECT mlLinks.*
FROM mlCatLinks, mlLinks
WHERE mlCatLinks.LinkID = mlLinks.ID
AND (mlLinks.isValidated = 'Yes' AND mlCatLinks.CategoryID = '1')
ORDER BY isNew DESC,isPopular DESC,Title LIMIT 0, 25
' Reason: Got error 28 from table handler
@INC =
/home/httpd/cgi-bin/meta/admin
/usr/lib/perl5/5.6.0/i386-linux
/usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i386-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl

Quote Reply
Re: [takacsj] Query error In reply to
That means your disk or partition may be full.

Try freeing up some space.
Quote Reply
Re: [takacsj] Query error In reply to
I went and checked. Here is the info:

bash-2.04$ df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda8 256667 248954 0 100% /
/dev/hda1 23302 2476 19623 12% /boot
/dev/hda6 8760096 5081344 3233756 62% /home
/dev/hda5 8760096 1460740 6854360 18% /usr
/dev/hda7 256667 179981 63434 74% /var
bash-2.04$ df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hda8 65k 17k 47k 26% /
/dev/hda1 5.9k 26 5.8k 1% /boot
/dev/hda6 1.1M 465k 623k 43% /home
/dev/hda5 1.1M 31k 1.0M 3% /usr
/dev/hda7 65k 435 64k 1% /var
Quote Reply
Re: [takacsj] Query error In reply to
Hmm, well mysql says: Reason: Got error 28 from table handler. And if you do a:

Code:
[alex@penguin data]$ perror 28
No space left on device
[alex@penguin data]$
So it's definately a disk space issue. May want to ask your ISP about this.

Cheers,

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [takacsj] Query error In reply to
Well, it is a dedicated server.

I'm not sure what else to do as df pretty much indicates that it is not a disk space issue. I have the data residing in /usr. Plenty of space there from the above.

Oh well, I'll bug my Red Hat guru co-worker for some help.

Here is the complete error, if that helps:

A fatal error has occured:

Can't call method "fetchrow_hashref" on an undefined value at (eval 4) line 72.

Please enable debugging in setup for more details.

Stack Trace
======================================
Links (15104): Links::environment called at /home/httpd/cgi-bin/meta/admin/Links.pm line 450 with no arguments.Links (15104): Links::fatal called at (eval 4) line 72 with arguments (Can't call method "fetchrow_hashref" on an undefined value at (eval 4) line 72.
).Links (15104): Links::Build::build_category called at /home/httpd/cgi-bin/meta/admin/GT/Plugins.pm line 105 with arguments (HASH(0x84dbce0)).Links (15104): GT::Plugins::dispatch called at /home/httpd/cgi-bin/meta/admin/Links/Build.pm line 30 with arguments (GT::Plugins, /home/httpd/cgi-bin/meta/admin/Plugins, build_category, *Links::Build::build_category, HASH(0x84dbce0)).Links (15104): Links::Build::build called at /home/httpd/cgi-bin/meta/page.cgi line 133 with arguments (category, HASH(0x84dbce0)).Links (15104): main::generate_category_page called at /home/httpd/cgi-bin/meta/page.cgi line 65 with no arguments.Links (15104): main::main called at /home/httpd/cgi-bin/meta/page.cgi line 23 with no arguments.

System Information
======================================
Perl Version: 5.006
Links SQL Version: 2.0.4
DBI.pm Version: 1.20
Persistant Env: mod_perl (0) SpeedyCGI (0)
GT::SQL::error = Failed to execute query: '
SELECT mlLinks.*
FROM mlCatLinks, mlLinks
WHERE mlCatLinks.LinkID = mlLinks.ID
AND (mlLinks.isValidated = 'Yes' AND mlCatLinks.CategoryID = '1')
ORDER BY isNew DESC,isPopular DESC,Title LIMIT 0, 25
' Reason: Got error 28 from table handler
@INC =
/home/httpd/cgi-bin/meta/admin
/usr/lib/perl5/5.6.0/i386-linux
/usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i386-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
.

CGI INPUT
======================================
d => 1
g => Arts/index.html


Quote Reply
Re: [takacsj] Query error In reply to
You may want to check where mysql is set to use it's tmp directory as if it's set to /tmp, then it's out of disk space. You can do a `mysqladmin vars | grep tmp` to see.

Cheers,

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [Alex] Query error In reply to
Alex,

You are da Man!

The problem was staring me in the face, and I should have realized it immediately. I imported the RDF file to my root directory. I extracted it there as well.....

So, in a nutshell, you were correct, mysql utilizes space in the root directory as it performs queries. In my case it ran out of space in the root directory.

Thanks a bunch for the help.

So, apparently to anyone facing a similar problem, you have two possibilities, a corrupt table or no disk space.

Thanks to all who replied with the correct answer. I just didn't see it as I assumed that mysql was only concerned with the directory it is in, not some temp files stored in the root directory....

Regards,

John