checksetup.pl fails on perl 5.005

RESOLVED FIXED in Bugzilla 2.16

Status

()

Bugzilla
Installation & Upgrading
--
blocker
RESOLVED FIXED
16 years ago
5 years ago

People

(Reporter: Andreas Franke (gone), Assigned: bbaetz)

Tracking

2.15
Bugzilla 2.16
x86
Linux

Details

Attachments

(2 attachments)

(Reporter)

Description

16 years ago
Running checksetup.pl after upgrading to the latest CVS sources of bugzilla
(which require TT 2.07 and include template precompilation) I get the following
error:

Not a subroutine reference at /home/bugzilla/perl5/lib/File/Find.pm line 197
(#1)

    (F) Perl was trying to evaluate a reference to a code value (that is, a
    subroutine), but found a reference to something else instead.  You can
    use the ref() function to find out what kind of ref it really was.
    See also perlref.

Uncaught exception from user code:
        Not a subroutine reference at /home/bugzilla/perl5/lib/File/Find.pm line
197.
        File::Find::wrap_wanted('HASH(0x55d4d4)') called at
/home/bugzilla/perl5/lib/File/Find.pm line 202
        File::Find::find('HASH(0x55d4d4)', 'template/en/default') called at
./checksetup.pl line 845

This is perl, version 5.005_02 built for sun4-solaris-thread
on SunOS leibniz 5.6 Generic_105181-16 sun4u sparc SUNW,Ultra-2
(Reporter)

Comment 1

16 years ago
Created attachment 81343 [details] [diff] [review]
Patch for perl5/lib/File/Find.pm

This is how I got around this scary error.
(Reporter)

Comment 2

16 years ago
(Well, the above "fix" was found with a lot of help on irc.)

After applying the patch, checksetup.pl gets further along, but then errors out
with the following message:

 Checking user setup ...
Could not compile confirm.html.tmpl:Uncaught exception from user code:
        file error - confirm.html.tmpl: not found at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Context.pm line 460
        Template::Context::throw('Template::Context=HASH(0x5aee78)', 'file',
'confirm.html.tmpl: not found') called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Context.pm line 134
        Template::Context::template('Template::Context=HASH(0x5aee78)',
'confirm.html.tmpl') called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Service.pm line 67
        eval {...} called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Service.pm line 67
        Template::Service::process('Template::Service=HASH(0x5aee48)',
'confirm.html.tmpl', 'HASH(0x5c2388)') called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template.pm line 59
        Template::process('Template=HASH(0x5aebd0)', 'confirm.html.tmpl',
'HASH(0x5c2388)') called at ./checksetup.pl line 826
        main::compile() called at /home/bugzilla/perl5/lib/File/Find.pm line 166
        File::Find::finddir('HASH(0x55c4e0)',
'template/en/default/account/email', 3, undef) called at
/home/bugzilla/perl5/lib/File/Find.pm line 182
        File::Find::finddir('HASH(0x55c4e0)', 'template/en/default/account', 6,
undef) called at /home/bugzilla/perl5/lib/File/Find.pm line 182
        File::Find::finddir('HASH(0x55c4e0)', 'template/en/default', 12, undef)
called at /home/bugzilla/perl5/lib/File/Find.pm line 109
        File::Find::find_opt('HASH(0x55c4e0)', 'template/en/default') called at
/home/bugzilla/perl5/lib/File/Find.pm line 202
        File::Find::find('HASH(0x55c4e0)', 'template/en/default') called at
./checksetup.pl line 845 (#1)
Uncaught exception from user code:
        Could not compile confirm.html.tmpl:Uncaught exception from user code:
        file error - confirm.html.tmpl: not found at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Context.pm line 460
        Template::Context::throw('Template::Context=HASH(0x5aee78)', 'file',
'confirm.html.tmpl: not found') called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Context.pm line 134
        Template::Context::template('Template::Context=HASH(0x5aee78)',
'confirm.html.tmpl') called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Service.pm line 67
        eval {...} called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template/Service.pm line 67
        Template::Service::process('Template::Service=HASH(0x5aee48)',
'confirm.html.tmpl', 'HASH(0x5c2388)') called at
/home/bugzilla/perl5/lib/site/sun4-solaris-thread/Template.pm line 59
        Template::process('Template=HASH(0x5aebd0)', 'confirm.html.tmpl',
'HASH(0x5c2388)') called at ./checksetup.pl line 826
        main::compile() called at /home/bugzilla/perl5/lib/File/Find.pm line 166
        File::Find::finddir('HASH(0x55c4e0)',
'template/en/default/account/email', 3, undef) called at
/home/bugzilla/perl5/lib/File/Find.pm line 182
        File::Find::finddir('HASH(0x55c4e0)', 'template/en/default/account', 6,
undef) called at /home/bugzilla/perl5/lib/File/Find.pm line 182
        File::Find::finddir('HASH(0x55c4e0)', 'template/en/default', 12, undef)
called at /home/bugzilla/perl5/lib/File/Find.pm line 109
        File::Find::find_opt('HASH(0x55c4e0)', 'template/en/default') called at
/home/bugzilla/perl5/lib/File/Find.pm line 202
        File::Find::find('HASH(0x55c4e0)', 'template/en/default') called at
./checksetup.pl line 845

        main::compile() called at /home/bugzilla/perl5/lib/File/Find.pm line 166
        File::Find::finddir('HASH(0x55c4e0)',
'template/en/default/account/email', 3, undef) called at
/home/bugzilla/perl5/lib/File/Find.pm line 182
        File::Find::finddir('HASH(0x55c4e0)', 'template/en/default/account', 6,
undef) called at /home/bugzilla/perl5/lib/File/Find.pm line 182
        File::Find::finddir('HASH(0x55c4e0)', 'template/en/default', 12, undef)
called at /home/bugzilla/perl5/lib/File/Find.pm line 109
        File::Find::find_opt('HASH(0x55c4e0)', 'template/en/default') called at
/home/bugzilla/perl5/lib/File/Find.pm line 202
        File::Find::find('HASH(0x55c4e0)', 'template/en/default') called at
./checksetup.pl line 845
(Assignee)

Comment 3

16 years ago
Created attachment 81350 [details] [diff] [review]
avoid no_chdir

no_chdir isn't available with 5.005, it appears. This patch passes for me on
landfill's perl 5.00503, and on 5.6.1 locally.

I also fixed the checksetup part of bug 140633.

Andreas, with this patch, do you still need your File::Find patch?
(Assignee)

Updated

16 years ago
Severity: critical → blocker
Status: NEW → ASSIGNED
Keywords: patch, review
Target Milestone: --- → Bugzilla 2.16
(Reporter)

Comment 4

16 years ago
Comment on attachment 81350 [details] [diff] [review]
avoid no_chdir

Worksforme. t(ested)=afranke.
Attachment #81350 - Flags: review+
(Reporter)

Comment 5

16 years ago
Comment on attachment 81343 [details] [diff] [review]
Patch for perl5/lib/File/Find.pm

It seems like this patch for lib/File/Find.pm is not needed any more, if the
second patch is applied.

Comment 6

16 years ago
Comment on attachment 81350 [details] [diff] [review]
avoid no_chdir

this also fixes perl 5.005_03 on fbsd - 

WFM with patch
(Assignee)

Comment 7

16 years ago
Yeah - I checked that File::Find existed on 5.005 before writing this, but
landfill was down so I couldn't check that it actually worked...

The older File::Find doesn't let you do lots of stuff - obviously it was
rewritten for 5.6
Summary: checksetup.pl fails on perl 5.005_02 → checksetup.pl fails on perl 5.005
Comment on attachment 81350 [details] [diff] [review]
avoid no_chdir

Based on two successful tests and reports it fixes the problem, r=gerv. Unless
someone else with 5.005 wants to test this :-)

Gerv
Attachment #81350 - Flags: review+
Fixed.

Checking in checksetup.pl;
/cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v  <--  checksetup.pl
new revision: 1.141; previous revision: 1.140
done

Gerv
Status: ASSIGNED → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED
*** Bug 141003 has been marked as a duplicate of this bug. ***
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.