"I personally think that the git tools have far too many ways to do the same thing (a complaint levelled against Perl itself at times) for the normal human to comprehend, let alone remember." -- John Peacock, gitting used to the idea of a new code repository.
Michael G. Schwern released a new version of the venerable
ExtUtils::MakeMaker
distribution, partly to include ExtUtils::Install
version 1.45. Unfortunately Yves Orton had, in the meantime, pushed out
version 1.46 which closed out a number of bug reports which had been
quietly gathering dust in the RT queue.
The changes caused a ripple of failures to show up in smoke tests. Yves had everything squared up again as of version 1.50.
http://xrl.us/bhpt9
A side thread on the same issue was started by Jerry D. Hedden
concerning problems with the module on Cygwin. One of the problems
encountered was the broken behaviour of Archive::Tar
with
respect to the WinZip archive tool on Windows. Apparently due to
concerns with Solaris interoperability, Archive::Tar
will
construct a tar file for which WinZip is unable to discern the
directory structure, thus causing everything to be extracted
into the current directory.
bit of a hassle, that http://xrl.us/bhpub
In the follow-up to the discussion of getting fresh blood hacking on the core, Joshua ben Jore pointed to his perlguts talk with a focus on the op-tree. Eric Wilhelm reminded people of the importance of the Google Summer of Code with respect to getting new people hacking on perl.
http://xrl.us/bhpud
This lead to further discussion of the Summer of Code, with cross-pver from the pm_groups mailing list, about how similar the effort required is to herding cats.
don't be eval http://xrl.us/bhpuf
Eric put out a formal call for an official p5p cat-herder to coordinate the issues between the SoC and the perl5 porters. I hope he received a flood of off-list replies.
http://xrl.us/bhpuh
List::Util::sum()
doesn't handle overloading Jan Dubois uncovered a glaring inconsistency between the XS and pure-Perl
implementations of the sum
routine: the XS version doesn't deal with
objects that overload +
correctly.
Yves Orton recalled previous discussions on the matter and the concensus was that the XS version was built for speed, which leads to things like overloading being ignored. Michael G. Schwern thought that he'd rather settle for slightly slower and always right, rather than slightly faster and sometimes subtly wrong. Nicholas Clark wanted to know how much slower an XS version that handles overloading would turn out to be.
premature evil http://xrl.us/bhpuj
strptime
The FreeBSD copyright statement in Time::Piece
went from Matt
Sergeant to blead. A patch from blead to silence a warning on
Windows with the Borland C compiler was sent back in return to
Matt.
two-way street http://xrl.us/bhpum
glob()
implementation Peter Dintelmann wondered why he kept winding up with csh semantics
for glob
rather than bsd semantics, as the documentation suggested.
Adriano Ferreira pointed out that csh_glob
is implemented in terms
of bsd_glob
anyway.
http://xrl.us/bhpuo
PL_destroyhook
race condition Dave Mitchell had identified a potential race condition where two threads try to destroy an object and in an ``After you'', ``No, after you'' scenario and the object would be freed but no-one would call its destructor.
Jerry D. Hedden thought this was an ugly state of affairs, and after mulling a long time over the code, could not see how to resolve the issue. He finally began to wonder whether the race condition could actually be provoked. So he wrote a program to try and exercise it, but didn't encounter the failure.
Jerry wasn't sure whether this was because there was truly no was no race condition, or that his program was not subtle enough to coax it to the surface.
http://xrl.us/bhpuq
Jerry also wondered whether this patch could be backported to the 5.8 track, or whether it broke binary compatibility.
http://xrl.us/bhpus
Jerry D. Hedden was having trouble with POSIX::access
returning
the magic value '0 but true' for both writable and non-writable
directories, so a test was failing when it shouldn't be on Cygwin
and Win32.
http://xrl.us/bhpuu
The current maintenance snapshot that will lead to 5.8.9 is currently
stuck on Stratus VOS, since the test suite of Module::Pluggable
has
a file that begins with '-' (dash, hyphen, minus...) and this is a no-go
on that platform.
Nicholas Clark couldn't remember what the other issues were.
Consulting previous summaries would lead one to conclude that there
is an unresolved issue concerning POSIX::strftime
as well.
http://xrl.us/bhpuw
A long back-and-forth between Nicholas and Steve Hay finished up with a warnings-free build on Win32. The main issue was one of casts causing warnings.
http://xrl.us/bhpuy
In another thread, Jerry D. Hedden coordinated with Nicholas to quash the remaining 5.8.x build warnings under Cygwin.
http://xrl.us/bhpu2
Sam Vilain reported that he had achieved a complete Perforce-to-git migration, and it was now being updated (albeit with a slight lag) with changes in real time. He asked for people to have a hard look to see if they could find any conversion errors.
Nicholas enquired as to whether there would be an easy way to map a Perforce change number to a git commit (answer: yes, a couple). He was also wondering how he would be able to cherry pick patches from blead for application to the various maint tracks.
git along http://xrl.us/bhpu4
Shortly afterwards, Rafael announced the switch to git. John Peacock deeply regretted not having been able to complete the Perforce to Subversion project, but a new job in Real Life had eaten all his tuits.
One of the main issues that needs to be sorted out is a simple ``git for perl5 porters'' cheat sheet, that supply a minimum list of commands one needs to know. The other point for early adopters to remember is that the repository is likely to be torn down and rebuilt, this time encoded in UTF-8 rather than Latin-1.
(Note to non-native English speakers: the ``g'' in ``git'' is pronounced with a voiced velar plosive (a hard G), like ``give'' or ``get'').
http://xrl.us/bhpu6
Jim Cromie continued to tweak opcode.pl this week, by adding comments to explain its behaviour and deobfuscating the syntax a bit. He reasoned that because it is so rarely used by people outside the inner circle that it needs to be able to stand on its own two feet a bit better. But the patch got a bit messed up and he'll probably have to do it again, since no-one actually applied it.
http://xrl.us/bhpu8
Math::Pari
(and Fedora) Tom ``spot'' Callaway wondered if there was a fix for Math::Pari
on 5.10, since it was broken, but it is also a dependency for a
couple of Crypt::*
modules. Nicholas Clark wondered what the
authors had to say for themselves, having encountered comments like
int numargs = ((CV*)cv)->sv_any->xof_off; /* XXXX Nasty of us... */
Nicholas Clark was slightly miffed by the corners cut in the XS code. The extensive restructuring of the internals that went into the 5.10 release was theoretically ``off limits'' to client XS code, but it turns out that the Pari code was running around stuffing pointers and ints in all sorts of places that weren't expected to hold them. This caused a variety of failures that Nicholas wasn't really inclined to fix.
http://xrl.us/bhpva
In his race against time, Tom also reported that
Data::Structure::Util was also failing its tests on 5.10.0.
Nicholas Clark saw that this (and other) module(s)
are
authored by Fotango, and since Fotango no longer officially
exists, they are thus all orphan modules.
Ævar Arnfjörð Bjarmason wondered what else was on
Fedora's list of modules from hell, to which Tom replied that
perlbal
(A Perl-based proxy balancer) was also blowing
black smoke, but felt that it was not a show-stopper.
Also problematic was Sys::Virt
, PDL
and Test::AutoBuild
.
Yves Orton suggested Tom run with the slow @_
parameter
passing speed-up patch, slated for 5.10.1 (and that Tom should
make sure that it is clear in the output from perl -v
that
it is in there, to help with future bug reports from Fedora users).
http://xrl.us/bhpvc
Nicholas Clark did a fine piece of sleuthing work on PDL and
discovered that a random number generator part of the code was not
calling a function like drand48
, which led to predictable results.
Not good if you want unpredictable results http://xrl.us/bhpve
He also solved the Devel::Profiler
5.10.0 failure that Tom
uncovered. As for B::TerseSize
, Nicholas suggested Tom get
in touch with Philip Gollucci.
http://xrl.us/bhpvg
Nicholas made another snapshot for 5.8.9 and asked what else was broken apart from the Stratus VOS issues. Craig A. Berry reported that a smoke test from a patchlevel a few changes earlier was having problems with threads and ExtUtils. The latter he suggested could be marked TODO if necessary, mainly because a certain amount of test failures are for tests that weren't around in 5.8.8 in the first place.
Jerry D. Hedden listed a number of dual-life CPAN modules that were out of date with respect to maint. Nicholas gave them a 50/50 chance.
Reini Urban summarised the problems on Cygwin. The work Jan Dubois made on the compiler switches, to allow gcc to be binary compatible with VC probably won't make it in until 5.12.
http://xrl.us/bhpvi
Problems occurred on Mac OS X 10.5, and the resolution was
made harder by the lack of strace
/truss
tool to analyse
system calls. I think Nicholas had it all sorted out in the end.
http://xrl.us/bhpvk
Dominic Dunlop noted that this test would fail from time to
time on darwin 9.2.0 and he couldn't see why. Nor could Nicholas.
Dominic and Steve Peters had suspicions about the C implementation
of glob
, as some parts of it remain unchanged since the day
the code was originally checked in.
http://xrl.us/bhpvn
Archive::Extract
's x.lzma test file be lzma'd, not uupacktool'd Yitzchak Scott-Thoennes noticed that a data file that was supposed to be encoded with lzma was in fact encoded with uupack instead. So he encoded it the right way, and Rafael applied the patch.
http://xrl.us/bhpvp
Yitzchak also made tr
behave cleanly in the face of copy-on-write strings.
moo http://xrl.us/bhpvr
Yitzchak also thought that now that the issue of the API of parent
has been settled, then base
could be marked as discouraged
not yet deprecated http://xrl.us/bhpvt
/^.../m
is slower than logical alternatives (#33051) Rob Kinyon (dragonchild on Perlmonks) reported a problem where one regexp was logically equivalent to another... but two orders of magnitude slower.
This was on perl 5.8.4. Steve Peters noted that the difference was lost in the noise on 5.10, and 5.8.8 did not appear to be affected either.
not any more http://xrl.us/bhpvv
Steve Peters also saw that the patch in this bug report had been applied to a version of Pod::Parser (version 1.35).
http://xrl.us/bhpvx
Test::Harness
with unexpected early exit (#43267) Steve Peters thought that this bug could be marked resolved, since
its twin sister on the CPAN RT queue was marked as resolved over
there. Andy Dougherty regretfully informed Steve that the solution
given for resolving it was ``upgrade to Test::Harness
version 3''.
Alas, in the code freeze during the push to 5.10, Test::Harness 3
was considered too raw for inclusion, and the bug in the RT ticket
concerns version 2. Andy, having taken a stab at fixing the bug in
Test::Harness 2.64, suggested that if the problem was sufficiently
annoying to people, then they should upgrade to Test::Harness
3 (which appears to be settling down nicely).
Rafael hinted that Test::Harness
3 will probably be released
during the 5.10 maintenance track. One of the reasons being, as
Michael G. Schwern points out, it's so much nicer to work with
than screen scraping test output.
http://xrl.us/bhpvz
Devel::Peek::mstat
always available (#46957) Slaven Rezic had filed a bug report with a patch. Steve took the
patch, applied it, and closed the report. The fix will be of
interest to people who like compiling perl with PERL_DEBUGGING_MSTATS
.
Slaven had also noted in the report that compiling with PLAIN_MALLOC
no longer works. This was not addressed (but I imagine it's not serious).
http://xrl.us/bhpv3
Continuing his trawl through the 1700+ unresolved bugs in the RT queue,
Steve asked for Config
information to help him understand what the
problem was.
http://xrl.us/bhpv5
Steve Peters tried to close this one as well, but Marc Lehmann replied that the problem remained, although it was very tricky to provoke the bug on demand. And the trouble is that the symptom is the removal of the source file.
http://xrl.us/bhpv7
No-one begrudged Steve closing this one with some vague waving of hands, citing that patch or patches unknown had conspired to fix the issue.
http://xrl.us/bhpv9
L. Mai filed the only new bug this week, showing how prototypes interact with lvalue subs in unexpected ways.
http://xrl.us/bhpwb
288 new + 1501 open = 1789 (+4 -2) http://xrl.us/bhpwd http://rt.perl.org/rt3/NoAuth/perl5/Overview.html
The Google summer of code mentoring thread was wrapped up this week, with Eric Wilhelm explaining a mentor for a GSoC project had to do, and what they received in return (a T-shirt).
what mentoring meant http://xrl.us/bhpwf
Jesse Vincent announce the release of the rt.cpan.org source code.
http://xrl.us/bhpwh
Back in November 2007, Marcel Grünauer wrote a patch to fix the NEXT.pm
bug within overloaded stringification. This week Nicholas Clark applied it.
http://xrl.us/bhpwj
In regards to the op/sprintf.t and op/write.t failures with mingw-runtime-3.14, Nicholas Clark commented that if Sisyphus (or anyone) was able to figure out a test probe to identify if the local environment was running with the buggy library, that they would be able to work around it during build configuration.
http://xrl.us/bhpwm
The checkpods
program is going to face the sound of the
chain-saw and/or be subsumed into podchecker
.
cruft culler http://xrl.us/bhpwo
H.Merijn Brand went digging around in Devel::PPPort
and
perlguts
to get Text::CVS_XS
to run on everything from 5.005
to 5.10. Tim Bunce thought a newSVpv
needed to be wrapped in a
sv_2mortal
, but that led to an attempt to free unreferenced
scalar.
DDTT http://xrl.us/bhpwq
No, the list is not blocking inline patches in messages.
at least, not on purpose http://xrl.us/bhpws
Jarkko Hietaniemi wondered if he was having an attack of the 64-bit perls. Three modules of his, quite different internally, were popping up with test failures on 64-bit systems.
the 64-bit question http://xrl.us/bhpwu
Juerd Waalboer clarified a couple of points in the Unicode debate, and asked a couple of questions. Notably whether it was true that Perl on EBCDIC was broken.
Nicholas Clark replied that it was false to state that it doesn't, as in actual fact we don't have any information to confirm or refute the hypothesis that Perl runs on EBCDIC.
24-29 February 2008 http://xrl.us/bhpww
This summary was written by David Landgren.
Weekly summaries are published on http://use.perl.org/ and posted on a mailing list, (subscription: perl5-summary-subscribe@perl.org ). The archive is at http://dev.perl.org/perl5/list-summaries/ . Corrections and comments are welcome.
If you found this summary useful, please consider contributing to the Perl Foundation to help support the development of Perl.