Gossamer Forum
Home : Products : Gossamer Links : Discussions :

Ghost category - refuse to build

Quote Reply
Ghost category - refuse to build
Hi,

I have a sub category which has 14 links under it and several subcategories, and a total links of 5000. No matter what method I use to build, such as build all, staggered or changed, no matter using shell or browser, building the index page for that sub cat always fails. It just pause there when it has displayed
Code:
Building category Top cat/some subcat ... Links: 14

I check the index file, it has been created but with zero size.

Using staggered, I was able to build the rest of the pages of its subcat, with that index file still be zero.

I also check all the 15 links in that cat, nothing special. It was once a top cat and could be built w/o problem, I moved it under another top cat and have done table repair after that.

this is too strange and I never encounter that. I am using Linksql 2.2 under Linux.

Any clues will be welcomed.

Long

Last edited by:

long327: Jun 3, 2004, 8:47 AM
Quote Reply
Re: [long327] Ghost category - refuse to build In reply to
After using numerous "print", finally I have chased down the problem to this line (in red) in GT::Template.pm sub _parse

Code:
sub _parse {
# ---------------------------------------------------------------
# Sets the parsing options, and gets the code ref and runs it.
#
my ($self, $template, $opt) = @_; my $compress = exists $opt->{compress} ? $opt->{compress} : $self->{compress};
local $self->{opt} = {};
$self->{opt}->{strict} = exists $opt->{strict} ? $opt->{strict} : $self->{strict};
$self->{opt}->{print} = exists $opt->{print} ? $opt->{print} : $self->{print};
$self->{opt}->{escape} = exists $opt->{escape} ? $opt->{escape} : $self->{escape};
$self->{opt}->{package} = exists $opt->{package} ? $opt->{package} : caller(1) || 'main';
$self->{opt}->{func_code} = exists $opt->{func_code} ? $opt->{func_code} : $self->{func_code};
$self->{opt}->{heap} = exists $opt->{heap} ? $opt->{heap} : $self->{heap};# Set the root if this is a full path so includes can be relative to template.";
if (substr($template, 0, 1) eq '/' or substr($template, 1, 1) eq ':') {
$self->{root} = substr($template, 0, rindex($template, '/'));
substr($template, 0, rindex($template, '/') + 1) = '';
}
my $root = $self->{root};
my $full_file = $self->{root} . '/' . $template;
my ($code, $dont_save) = $self->{opt}->{print} == 2
? @{$FILE_CACHE_PRINT{$full_file}}{qw/code dont_save/}
: @{$FILE_CACHE{$full_file}}{qw/code dont_save/};
my $output = $code->($self);
return $output if $self->{opt}->{print} == 2;
if ($compress) {
$self->debug("Compressing output for template '$template'.") if $self->{_debug}; my ($pre_size, $post_size);
$pre_size = length $$output if $self->{_debug};
$self->_compress($output);
$post_size = length $$output if $self->{_debug}; $self->debug(sprintf "Output reduced %.1f%%. Size before/after compression: %d/%d.", 100 * (1 - $post_size / $pre_size), $pre_size, $post_size) if $self->{_debug};
}
return $$output;
}

But I don't know why the program paused here.

The debug info shows the problem too
Code:

GT::SQL::Driver::MYSQL::sth (30450): Executing query: SELECT * FROM lsReviews WHERE Review_Validated = 'Yes' AND (Review_LinkID IN (23060,23058,23046,23052,23049,23048,23057,23047,23053,23054,23051,23050,23056,23055)) from Links::Table::Links::add_reviews at /home/domain/www/cgi-bin/web/admin/Links/Table/Links.pm line 399
GT::SQL::Driver::MYSQL::sth (30450): Executing query: SELECT ID,Full_Name FROM lsCategory WHERE FatherID = 0 from Links::__ANON__ at (eval 49) line 16
GT::SQL::Driver::MYSQL::sth (30450): Executing query: SELECT FatherID FROM lsCategory WHERE ID = 23060 from Links::__ANON__ at (eval 49) line 54
GT::SQL::Driver::MYSQL::sth (30450): Executing query: SELECT FatherID FROM lsCategory WHERE ID IS NULL from Links::__ANON__ at (eval 49) line 59
GT::SQL::Driver::MYSQL::sth (30450): Executing query: SELECT FatherID FROM lsCategory WHERE ID IS NULL from Links::__ANON__ at (eval 49) line 59

Please note "SELECT FatherID FROM lsCategory WHERE ID = 23060". I don't have a category id of 23060, instead there is a link Id of 23060.

Any idea?

Last edited by:

long327: Jun 3, 2004, 6:58 PM