List Info

Thread: Too many Bric::Dist::Resource objects found.




Too many Bric::Dist::Resource objects found.
user name
2008-04-10 23:11:29
Hi, I'm getting the above error while trying to publish or
preview a certain
story.

Bric version is 1.10.3, backtrace follows.

Error: Too many Bric:ist::Res
ource objects found.

  Fault Class:    Bric::Util::Fault::Exception:P
  Description:    Data Processing Exception
  Timestamp:      2008-04-11 14:05:01.000000
  Package:        Bric:ist::Res
ource
  Filename:      
/usr/lib/perl5/site_perl/5.8.8/Bric/Dist/Resource.pm
  Line:           263
  Payload:

STACK:

Trace begun at
/usr/lib/perl5/site_perl/5.8.8/Bric/Dist/Resource.pm line
263
Bric:ist::Res
ource::lookup('Bric:ist::Res
ource',
'HASH(0xbcc0e10)') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
2022
Bric::Util::Burner::add_resource('Bric::Util::Burner::Mason=
HASH(0xbcc1104)',
'/opt/bric/data/burn/stage/oc_1024/about/services/osrassist/
mortgages_multistate/.menu/index.html',
'/about/services/osrassist/mortgages_multistate/.menu/index.
html')
called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner/Mason.pm
line 598
Bric::Util::Burner::Mason::end_page('Bric::Util::Burner::Mas
on=HASH(0xbcc1104)')
called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner/Mason.pm
line 297
Bric::Util::Burner::Mason::burn_one('Bric::Util::Burner::Mas
on=HASH(0xbcc1104)',
'Bric::Biz::Asset::Business::Story=HASH(0xbce4644)',
'Bric::Biz::OutputChannel=HASH(0xbce01bc)',
'Bric::Biz::Category=HASH(0xbcfd7e0)') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
1498
Bric::Util::Burner::burn_one('Bric::Util::Burner=HASH(0xbce4
9d4)',
'Bric::Biz::Asset::Business::Story=HASH(0xbce4644)',
'Bric::Biz::OutputChannel=HASH(0xbce01bc)',
'Bric::Biz::Category=HASH(0xbcfd7e0)') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
1275
Bric::Util::Burner::publish('Bric::Util::Burner=HASH(0xbce49
d4)',
'Bric::Biz::Asset::Business::Story=HASH(0xbce4644)',
'story', 0,
'2008-04-11 14:04:51.000000') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
1439
Bric::Util::Burner::publish_another('Bric::Util::Burner::Mas
on=HASH(0xbcc1104)',
'Bric::Biz::Asset::Business::Story=HASH(0xbce4644)') called
at
/opt/bric/data/burn/comp/oc_1/generate_menu.mc line 195
Bric::Util::Burner::Commands::__ANON__('c',
'Bric::Biz::Category=HASH(0xbc8cc50)', 'is_root', 0) called
at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Component.pm line
135
HTML::Mason::Component::run('HTML::Mason::Component::Subcomp
onent=HASH(0xbba067c)',
'c', 'Bric::Biz::Category=HASH(0xbc8cc50)', 'is_root', 0)
called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
1262
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
1252
HTML::Mason::Request::comp(undef, undef, 'c',
'Bric::Biz::Category=HASH(0xbc8cc50)', 'is_root', 0) called
at
/opt/bric/data/burn/comp/oc_1/generate_menu.mc line 21
Bric::Util::Burner::Commands::__ANON__ at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Component.pm line
135
HTML::Mason::Component::run('HTML::Mason::Component::FileBas
ed=HASH(0xbba0730)')
called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
1262
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
1252
HTML::Mason::Request::comp(undef, undef) called at
/opt/bric/data/burn/comp/oc_1/autohandler line 207
Bric::Util::Burner::Commands::__ANON__ at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Component.pm line
135
HTML::Mason::Component::run('HTML::Mason::Component::FileBas
ed=HASH(0xbb0c37c)')
called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
1257
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
1252
HTML::Mason::Request::comp(undef, undef, undef) called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
466
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
466
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Request.pm line
418
HTML::Mason::Request::exec('HTML::Mason::Request=HASH(0xbb09
e5c)')
called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/Interp.pm line
342
HTML::Mason::Interp::exec(undef, undef) called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner/Mason.pm
line 268
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner/Mason.pm
line 268
Bric::Util::Burner::Mason::burn_one('Bric::Util::Burner::Mas
on=HASH(0xbaf71b8)',
'Bric::Biz::Asset::Business::Story=HASH(0xbae6e78)',
'Bric::Biz::OutputChannel=HASH(0xbaf2054)',
'Bric::Biz::Category=HASH(0xbaf2618)') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
1498
Bric::Util::Burner::burn_one('Bric::Util::Burner=HASH(0xbae7
19c)',
'Bric::Biz::Asset::Business::Story=HASH(0xbae6e78)',
'Bric::Biz::OutputChannel=HASH(0xbaf2054)',
'Bric::Biz::Category=HASH(0xbaf2618)') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
1275
Bric::Util::Burner::publish('Bric::Util::Burner=HASH(0xbae71
9c)',
'Bric::Biz::Asset::Business::Story=HASH(0xbae6e78)',
'story', 0,
'2008-04-11 14:04:51.000000', 1) called at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Job/Pub.pm line
191
Bric::Util::Job::Pub::_do_it('Bric::Util::Job::Pub=HASH(0xba
e6968)')
called at /usr/lib/perl5/site_perl/5.8.8/Bric/Util/Job.pm
line 1889
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/Bric/Util/Job.pm line 1887
Bric::Util::Job::execute_me('Bric::Util::Job::Pub=HASH(0xbae
6968)')
called at /usr/lib/perl5/site_perl/5.8.8/Bric/Util/Job.pm
line 1808
Bric::Util::Job::save('Bric::Util::Job::Pub=HASH(0xbae6968)'
) called
at
/usr/lib/perl5/site_perl/5.8.8/Bric/App/Callback/Publish.pm
line
184
Bric::App::Callback::Publish::publish('Bric::App::Callback::
Publish=HASH(0x9bebc3c)')
called at
/usr/lib/perl5/site_perl/5.8.8/Bric/App/Callback/Desk.pm
line 346
Bric::App::Callback:esk::pub
lish('Bric::App::Callback:esk=HASH
(0xba8277c)')
called at
/usr/lib/perl5/site_perl/5.8.8/Bric/App/Callback/Profile/Sto
ry.pm
line 208
Bric::App::Callback::Profile::Story::checkin('Bric::App::Cal
lback::Profile::Story=HASH(0xbac71e4)')
called at
/usr/lib/perl5/site_perl/5.8.8/Params/CallbackRequest.pm
line 294
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/Params/CallbackRequest.pm
line 284
Params::CallbackRequest::request('Params::CallbackRequest=HA
SH(0x9e13dd8)',
'HASH(0xb01da38)', 'requester',
'MasonX::Interp::WithCallbacks=HASH(0xb70f52c)',
'apache_req',
'Apache::Request=SCALAR(0xb78a560)') called at
/usr/lib/perl5/site_perl/5.8.8/MasonX/Interp/WithCallbacks.p
m line 119
MasonX::Interp::WithCallbacks::make_request('MasonX::Interp:
:WithCallbacks=HASH(0xb70f52c)',
'comp', '/workflow/profile/story/2126', 'args',
'ARRAY(0xb9ee418)',
'ah', 'HTML::Mason::ApacheHandler=HASH(0xb70f430)',
'apache_req',
'Apache::Request=SCALAR(0xb78a560)') called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/ApacheHandler.pm
line 869
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/ApacheHandler.pm
line 868
HTML::Mason::ApacheHandler::prepare_request('HTML::Mason::Ap
acheHandler=HASH(0xb70f430)',
'Apache=SCALAR(0xb76d6cc)') called at
/usr/lib/perl5/site_perl/5.8.8/HTML/Mason/ApacheHandler.pm
line 823
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::Apa
cheHandler=HASH(0xb70f430)',
'Apache=SCALAR(0xb76d6cc)') called at
/usr/lib/perl5/site_perl/5.8.8/Bric/App/Handler.pm line 314
eval {...} at
/usr/lib/perl5/site_perl/5.8.8/Bric/App/Handler.pm line 303
Bric::App::Handler::handler('Apache=SCALAR(0xb76d6cc)')
called at
/dev/null line 0
eval {...} at /dev/null line 0





-- 
Reclaim your digital rights, eliminate DRM, learn more at
http://w
ww.defectivebydesign.org/what_is_drm

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d--- s: a C++++ UL+++ P+++ L+++++ E--- W++ N o-- K- w--
O M+ V PS+++ PE Y PGP t+ 5 X++ R !tv b+++ DI+ D++
G-- e++ h+ r+ y+++++
------END GEEK CODE BLOCK------


Today's lucky number is: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5
63 56 88 C0
Re: Too many Bric::Dist::Resource objects found.
user name
2008-04-11 11:33:25
On Apr 10, 2008, at 21:11, Matt Wlazlo wrote:

> Hi, I'm getting the above error while trying to publish
or preview a  
> certain
> story.
>
> Bric version is 1.10.3, backtrace follows.
>
> Error: Too many Bric:ist::Res
ource objects found.
>
>  Fault Class:    Bric::Util::Fault::Exception:P
>  Description:    Data Processing Exception
>  Timestamp:      2008-04-11 14:05:01.000000
>  Package:        Bric:ist::Res
ource
>  Filename:      
/usr/lib/perl5/site_perl/5.8.8/Bric/Dist/Resource.pm
>  Line:           263
>  Payload:
>
> STACK:
>
> Trace begun at
/usr/lib/perl5/site_perl/5.8.8/Bric/Dist/Resource.pm  
> line 263
> Bric:ist::Res
ource::lookup('Bric:ist::Res
ource',
> 'HASH(0xbcc0e10)') called at
> /usr/lib/perl5/site_perl/5.8.8/Bric/Util/Burner.pm line
2022

You have more than one row in the resource table with the
same file  
name. You'll need to fix that. The file name is something
like  
$BRICOLAGE_ROOT/data/burn/stage/oc_1/news/2004/05/04/slug/fo
o.gif. So  
you would find the dupe with a query like this:

   SELECT *
     FROM resource
    WHERE path LIKE
'/usr/local/bricolage/data/burn/stage/oc_1/news/ 
2004/05/04/slug/%';

Just substitute the "1" in "oc_1" with
the ID of the output channel  
the media document is in, and
"/news/2004/05/04/slug/" for the URI of  
the medium being published. It's likely a related media
document in  
the story you're trying to publish, so look at the URIs of
those media.

NB: We should have a UNIQUE index on that column, methinks.

HTH,

David

Re: Too many Bric::Dist::Resource objects found.
user name
2008-04-14 23:56:21
On 12/04/2008, David E. Wheeler <davidkineticode.com> wrote:
>  You have more than one row in the resource table with
the same file name. You'll need to fix that.

Thanks David, I actually found about six duplicate path rows
in the
resource table using the query:

  select path from resource group by path having count(*)
> 1;

Interestingly they are all media. I'm not sure how to fix.
Can I
delete one of the offending rows (if so, how can I tell
which one?) or
should I remove the media entirely and start again?

Any ideas how I can prevent this from happening again?

Cheers,
Matt.


-- 
Reclaim your digital rights, eliminate DRM, learn more at
http://w
ww.defectivebydesign.org/what_is_drm

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d--- s: a C++++ UL+++ P+++ L+++++ E--- W++ N o-- K- w--
O M+ V PS+++ PE Y PGP t+ 5 X++ R !tv b+++ DI+ D++
G-- e++ h+ r+ y+++++
------END GEEK CODE BLOCK------


Today's lucky number is: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5
63 56 88 C0

Re: Too many Bric::Dist::Resource objects found.
user name
2008-04-15 11:29:12
On Apr 14, 2008, at 21:56, Matt Wlazlo wrote:

> On 12/04/2008, David E. Wheeler <davidkineticode.com> wrote:
>> You have more than one row in the resource table
with the same file  
>> name. You'll need to fix that.
>
> Thanks David, I actually found about six duplicate path
rows in the
> resource table using the query:
>
>  select path from resource group by path having
count(*) > 1;
>
> Interestingly they are all media. I'm not sure how to
fix. Can I
> delete one of the offending rows (if so, how can I tell
which one?) or
> should I remove the media entirely and start again?

Actually, I was wrong before. There's a UNIQUE constraint on
the  
combination of path and URI. So that's good. Looking at the
code  
again, I think that Burner.pm is wrong at line 2022, because
all the  
other instantiations of resources look up by path and URI.
Try this  
patch:

--- lib/Bric/Util/Burner.pm	(revision 8050)
+++ lib/Bric/Util/Burner.pm	(working copy)
 -2019,9
+2019,13 
      my ($story, $ext, $ress) = $self->_get(qw(story
output_ext  
resources));

      # Create a resource for the distribution stuff.
-    my $res = Bric:ist::Res
ource->lookup({ path => $file }) ||
-      Bric:ist::Res
ource->new({ path => $file,
-                                  uri  => $uri });
+    my $res = Bric:ist::Res
ource->lookup({
+        path => $path,
+        uri  => $uri,
+    }) || Bric:ist::Res
ource->new({
+        path => $path,
+        uri  => $uri,
+    });

      # Set the media type.
      $res->set_media_type(Bric::Util::MediaType- 
 >get_name_by_ext($ext));

Best,

David

Re: Too many Bric::Dist::Resource objects found.
user name
2008-04-15 11:30:54
On Apr 15, 2008, at 09:29, David E. Wheeler wrote:

> Actually, I was wrong before. There's a UNIQUE
constraint on the  
> combination of path and URI. So that's good. Looking at
the code  
> again, I think that Burner.pm is wrong at line 2022,
because all the  
> other instantiations of resources look up by path and
URI. Try this  
> patch:

Sorry, pasto in that patch. Try this one:

--- lib/Bric/Util/Burner.pm	(revision 8050)
+++ lib/Bric/Util/Burner.pm	(working copy)
 -2019,9
+2019,13 
      my ($story, $ext, $ress) = $self->_get(qw(story
output_ext  
resources));

      # Create a resource for the distribution stuff.
-    my $res = Bric:ist::Res
ource->lookup({ path => $file }) ||
-      Bric:ist::Res
ource->new({ path => $file,
-                                  uri  => $uri });
+    my $res = Bric:ist::Res
ource->lookup({
+        path => $file,
+        uri  => $uri,
+    }) || Bric:ist::Res
ource->new({
+        path => $file,
+        uri  => $uri,
+    });

      # Set the media type.
      $res->set_media_type(Bric::Util::MediaType- 
 >get_name_by_ext($ext));

Best,

David


[1-5]

about | contact  Other archives ( Real Estate discussion Medical topics )