Closed Bug 1321662 Opened 4 years ago Closed 4 years ago

Ensure that Carp and Carp::Heavy are only loaded after @INC is setup with the vendor bundles

Categories

(bugzilla.mozilla.org :: General, defect)

Production
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dylan, Assigned: dylan)

References

Details

Attachments

(1 file, 1 obsolete file)

IO::Async requires Future, which requires a newer version of Carp than we have installed in SCL3.

Carton is smart enough to realize this and bundle it.

However, if we load Carp before @INC contains the carton dir,
we'll be in a situation where Carp and Carp::Heavy disagree.


Many things directly load Carp:

1) FindBin
2) File::Basename

So this is a difficult problem to fix
Blocks: 1307478
Attached patch 1321662_2.patch (obsolete) — Splinter Review
Only FindBin is problematic
Attachment #8817069 - Flags: review?(dkl)
Attached patch 1321662_3.patchSplinter Review
Attachment #8817069 - Attachment is obsolete: true
Attachment #8817069 - Flags: review?(dkl)
Attachment #8817083 - Flags: review?(dkl)
Comment on attachment 8817083 [details] [diff] [review]
1321662_3.patch

Review of attachment 8817083 [details] [diff] [review]:
-----------------------------------------------------------------

the qa/t/*.t scripts run from inside the qa/t dir so the files you have changed need to be:

use lib qw(lib ../../lib ../../local/lib/perl5);

Fix on commit. r=dkl
Attachment #8817083 - Flags: review?(dkl) → review+
To git@github.com:mozilla-bteam/bmo.git
   19caea8..72197b5  master -> master
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.