=head1 This Fortnight on perl5-porters - 13-27 April 2008 "Perl simply isn't broken enough. Most things work too well, hence no-one finds that they need to fix their itch, so in turn, they don't get sucked into core development generally. Maybe we need to start adding bugs, somewhat like a protection racket." =over 4 =item * "Your program works very nicely. It would be a shame if something went wrong with it, wouldn't it? ..." =back -- Nicholas Clark, on possible future revenue schemes. =head1 Topics of Interest =head2 Perl @ 33536 Nicholas Clark followed up on the 5.8.9-tobe thread, regarding binary compatibility, pointing out that the entire 5.8 line had never needed to rearrange struct layouts, so clearly it's not much of a limitation. He thought that forcing a layout reshuffle between each minor release sounded like quite a bit of work; Jan Dubois noted that all one needed to do was to roll the first member around to the end, which is easy, and has the added bonus of guaranteeing that the offset of every single member changes. challenge their assumptions http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00395.html =head2 Banishing "free to wrong pool", and making Win32 faster? Nicholas then related the details of a discussion he had with Dave Mitchell concerning the viability of a copy-on-write scheme. The main stumbling block is the need for threaded perls to track which interpreter allocated a given block of memory, since only the true owner should free it. This would mean that every single SV needs an extra pointer to link back to the parent interpreter, on top of the extra counter needed to keep track of the current copy count. So Nicholas went exploring to find out if there was another way to determine to which parent a block belonged. After studying things for a while he came to the conclusion that between F and F, the necessary infrastructure already exists to acquire large blocks of memory from the system and then allocate it on an as-needed basis as program executes. And then he was struck by the fact that this could be useful right now, without waiting for a copy-on-write scheme to be written, since the above could be used to both speed up Win32's slow C performance and speed up (or at least simplify) thread destruction. Another brilliant piece of detective work by Nicholas that, alas, attracted no comments. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00252.html =head2 Taint (PL_tainting, SvTAINTED_on, SvTAINTED_off, SvTAINT) Nicholas also took the time to examine Paul Fenwick's reasons for dismay with the way tainting can be turned on part way through a program and offered a number of answers to Paul's questions. By using Sam Vilain's git repository back to the dawn of time, he was able to show that the current behaviour was introduced during 5.000 alpha 4. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00283.html =head2 Sustaining Perl 5 maintenance Nicholas also related a conversation from Real Life (see, the man does have a Life) where Leon Brocard asked whether there were enough people working on Perl 5, and Nicholas's flat answer was... no. The inescapable fact is that working on a codebase that is over twenty years old is not fun, it's work. Even taking care of patches people send in and shepherding them to completion is work. A back of the envelope calculation gives 8 person-work-days, per week, just to stand still. The grant scheme is not working. Expert Perl users know how to skate around the weird parts of the language (or give them a wide berth). Companies don't see the need to finance Perl development. At the very least, a bug-wrangler who could keep track of bugs, tie related bugs together, filter out not-a-bugs, write TODO tests, write tests to improve coverage... well, it's a full-time job. And not fun. At least not always. Hardly ever. Dave Mitchell pointed out that a seemingly innocuous bug report about a "premature free" error turns out, after a long debugging session, to be another case of a design decision embedded in the code base many years ago, at which point there's very little to be done about it. This sort of bug cannot be dealt with by a junior coder, lest they quickly lose their mind, or at least become quickly discouraged. Sven Dowideit gave thanks for the Git repository, which made life much easier compared to the previous Perforce export via rsync approach. In which case one of the goals for switching over to git has already been met. life support http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00293.html =head2 Updated Perl Git, with the Git Nits Picked Sam Vilain, on the subject of the Perl Git, announced that he had cleared up all the problems outstanding with the first release of the repository and said that the current repository would likely be the definitive one. Rafael Garcia-Suarez announced that his company, booking.com, had offered the bandwidth and hosting for the repository, and it would live under the perl.org domain. He said that the move to git will take place once 5.8.9 is out the door and so in the meantime Sam will have to continue to import the Perforce changes. git.perl.org http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00301.html =head2 www.osscensus.org Andy Armstrong mindlessly propagated a link to a web site that purports to perform a census on the adoption of open-source software, and was keen to find out how Perl fared. Apparently one has to download a 44Mb Ruby application as part of the process. that's the easy part http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00336.html =head2 F taint issue with VMS John E. Malmberg returned to the issue of C<$ENV{PATH}> being tainted on VMS and there being no way to untaint it in order to allow F to execute C. Part of the problem is that C<$ENV{PATH}> need not even exist on VMS, and things will work just fine without it. He recalled that the issue worked if PATH was defined beforehand but couldn't track down the original discussion on the matter. finding your way http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00345.html =head2 Wrong line numbers in C This one's been around for a I time and now, finally, it may be time to retire advice #11943 from Klortho. Nicholas Clark took another look at it and decided that it would make a lovely opener for the Vienna Summer of TODOs project. Then when he took a closer look, he thought of a trivial solution that just might work after all. He wrote up the new TODO, and within 12 hours, Rafael Garcia-Suarez had written and applied a patch to implement Nicholas's idea. Unfortunately it skewed another line numbering result. So he committed a better change (#33710). Nicholas wondered whether Rafael was going to fix each TODO he attempted to propose as worthy of a bounty. Bram wondered if this was related to bug #47632, and asked whether the fix could be extended to resolve a variation on the theme (of reporting incorrect line numbers). Tim Bunce was very pleased, because an unexpected benefit that came out of this was that all line-based execution profilers picked up the improvement for free. Paul Johnson saw that C was flummoxed by the change, but he noted happily that the test suite was reporting the error in an appropriate way which should simplify the fix. He also saw that C got a little confused as well and offered a patch to fix that up. "Ah yes, and you are the first person to have noticed this bug since 1987. Sure." http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00353.html The above work thus allowed Rafael Garcia-Suarez to announce that the bug C gives wrong line number for warning about undefined value (#37302) was hereby fixed. so backport it http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00381.html =head2 valgrind H.Merijn Brand took valgrind for a spin on his Text::CSV_XS module to see what happened. In the process he discovered that it works better if you have a perl built with C<-DDEBUGGING>, but a module written by Rafael (C) partially obviates the need. Marvin Humphrey explained what good valgrind figures should look like and made some suggestions to reduce the numbers H.Merijn was seeing. Vincent Pit asked whether his brand new C would be of any use, and this caught Marvin's attention. the daily grind http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00356.html =head2 C with MinGW on Win32 Steve Hay asked about the status of C (or more specifically, the differences between the CPAN version, the development version in its Subversion repository and blead). When all was said and done, version 0.23 made it out to CPAN and this contains the MinGW fixes that will clean up Steve's smokes. On the other hand, the blead version still contains some VMS-specific fixes that need to be merged back into the development version of the module to get everyone in synch. whither 0.24? http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00374.html =head2 Object ~~ overloading and not Ricardo Signes reminded the porters about the perils of $anything ~~ $obj_without_overload and wrote a test case to try and nail it down. But something went wrong and he had a core dump on his hands. Rafael took over and cleaned everything up so that we know have a nicely-behaved TODO test. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00386.html In other news, he also wrote a testcase as a followup to the C discussion, but this appears to have been overlooked. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00387.html =head2 Support mallocs of struct T containing struct S[N] In his continuing explorations of slab allocations, Jim Cromie offered a patch to allow structs with arbitrarily-sized arrays of structs to be allocated easily. This was a follow-up to his Warnocked patch at the beginning of the month dealing with exposing the ptr-table subsystem, on the grounds that it offered a speed boost to XS authors. It turned out that freeing ptr-tables was very slow, and so switching to a slab allocator would simplify the freeing, since one could just throw the slab away. But for that to work, one needed to be able to calculate the overall required size needed for variable length allocations. Those who were sufficiently well versed in the finer details of the C standard pointed out that not many current compiler implementations had implemented this part of the standard, which appears to have compromised the acceptance of the patch. unwarranted chumminess with the C implementation http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00416.html =head2 Why is Ruby on Rails so darn slow? A long digression about the relative merits of speed and usefulness of Perl, Ruby and Java, inspired by a web article written by Tim Bray. not much porting going on http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00454.html =head2 Perl 5.10 and the concept of stable Alberto Simões learnt that Slackware 12.1 was about to be released, and it is set to go with 5.8.8 rather than 5.10.0. When he enquired as to why this was, he was told that according to the documentation on cpan.org, 5.10.0 is considered a testing release, and thus not suitable for general deployment (as in being bundled with a Linux distribution). Matt S. Trout warned that anyone into Catalyst will run into problems with attributes on an unpatched 5.10.0. Reini Urban had several patches for Cygwin that had to make it back in. The fact that C/C and smartmatch have problems was brought up again, and a call was made for someone to go through the archives and track down the exact issues (which occurred during my summary sabbatical, sorry). If a concise explanation can be made and a concensus can be reached as to what the desired behaviour is, Dave Mitchell, Matt S. Trout and Ricardo Signes offered to put in the work to get it done. smartmatching the concept of stable http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00464.html Matt S. Trout reiterated the call for information. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00587.html =head2 Any takers for C/C and C? Jarkko Hietaniemi put the maintenance of these dual-life modules on offer, citing lack of time to be able to devote the required tuits to shepherd them along. Zefram offered to take them over, since they were already of interest to him. time for some maths http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00487.html =head2 Bug or not? constants warn only once Nicholas was surprised that the following code only produces one warning: perl -lwe 'sub pie {print 0 + "pie"}; pie; pie;' An even simpler variation on theme also didn't produce subsequent warnings and one could argue that it should. The problem is that the expression gets marked as valid numerically (or more precisely, C gets set) after the first time through (and issuing a warning) whereas the second time around the numeric context is used directly, thereby skipping the chance for the warning to fire. Jan Dubois therefore observed that this was the equivalent of saying that C should be not be set if the conversion generated a warning. Abigail ventured the opinion that one warning was enough, and that if the problem the warning was signalling was so important as to merit repeated warnings about the same problem, then the warning should have been an error in the first place. In the end, Nicholas suggested a series of tests to codify the behaviour and asked people to see if any loose ends needed to be tied up. have your say http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00557.html =head2 One less C bug Nicholas fixed up the very silly bug that allowed one to copy a file using a buffer of 0 bytes, which is only useful if you want 0 bytes in the copied file. The conversation then veered into a discussion about the fact that C doesn't respect file permissions and attributes, and other generally unhelpful problems the module has. it's ok to ask the OS to do it http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00558.html =head2 New perl packages fix denial of service (Debian) Spiros Denaxas wanted to know if the porters were aware of a Debian security issue concerning buffer overflows in regular expressions containing Unicode characters. Tony Cook replied that there was an open ticket (#48156) on the issue in the bug database. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00566.html =head2 On the almost impossibility to write correct XS modules Marc Lehmann wrote an impassioned plea to see what could be done about helping XS modules work correctly with Unicode strings. The first problem is that the raw interface to a string (C) is useless, since there is no side channel to tell the XS code what encoding is in use. In reaction to this, some XS authors have invented their own XS typemaps to get around the problem, however this can result in objects being stringified. The only way out that Marc could see was to take a mortal copy of the input argument. Rafael thought that it might be possible to invent a more efficient mechanism, if only syntactically. Marc stressed that the problem with the current situation is that when people encounter the problem on their own, they wind up learning about the utf-8 flag and begin to play around with that, and this leads to only more tears. Hence, if Perl wants to get really serious about Unicode, it needs to be addressed in a sane manner for XS. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00597.html =head2 INSTALLDIRS and dual-life modules Paul Marquess inquired about the right way to deal with CPAN updates overwriting core versions of modules correctly. By default, the CPAN shell will carefully install the new version in an C<@INC> directory listed after the core version (also known as shadowing). The trick is to specify an override in the C (or C) of the CPAN module. Rafael wondered if there was a problem with the core installing files in architecture-dependent directories when in fact they should be installed in architecture-independent directories, and whether it was because of some blanket assumption about the modules living under F in the codebase. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00607.html =head2 Closing tickets in RT Bram trawled through RT and found close on a dozen tickets that he thought could be closed. So Steve Peters closed them. For another ticket concerning AIX, H.Merijn Brand suggested a hint that checks that the maths library is available. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00614.html =head2 Linking with C and C since 5.10 Reini Urban reported that linking against DynaLoader had become quite difficult since the release of 5.10, due to changes in the way various linker symbols were exposed where. Rafael pointed to the exact change to help Reini understand what was going on. Nicholas Clark thought that a test or two wouldn't go astray. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00621.html =head2 Smoking bleed @33752 blew up my system Johan Vromans had the misfortune to smoke change #33752, which was perfectly bracketed by change #33751, which introduced a bug into the forked debugger code that was then reverted by change #33753. Unfortunately the bug caused the smoker log file to fill up the remaining disk space with an endless loop of debugger output. you have been warned http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00639.html =head1 TODO of the week Hey! We got a bite! James Bence wrote a patch to B>. Note to budding TODO doers: please use unified diffs for sending patches (C, or the more melodious C). smoke that http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00350.html Next up, I think the following two TODOs are dids. =over 4 =item Improving C Investigate whether C could share aggregates properly with only Perl level changes to C. =item C memory footprint Ilya observed that C eats memory like there's no tomorrow, and at various times worked to cut it down. There is probably still fat to cut out - for example POSIX passes Exporter some very memory hungry data structures. =back I believe that the first issue, if anything can be done about it, is receiving the appropriate amount of care from Jerry D. Hedden. And the second issue has been resolved with Nicholas Clark's new implementation for constant subs. Here, then, is a TODO that requires a little C knowledge: =head2 Weed out needless C The C code uses the macro C to stop compilers warning about unused arguments. Often the arguments can't be removed, as there is an external constraint that determines the prototype of the function, so this approach is valid. However, there are some cases where C could be removed. Specifically =over 4 =item * The prototypes of (nearly all) static functions can be changed =item * Unused arguments generated by short cut macros are wasteful - the short cut macro used can be changed. =back =head1 Patches of Interest =head2 F: C returns 0, not C The porters continued to study the holy scriptures (that is, the C standard) this past fortnight to figure just what was the best thing for C to return. Rafael Garcia-Suarez boldly went where no pumpking had gone before, and declared with change #33676 that it should return C. And almost immediately began to have second thoughts. Andy Dougherty opened another can of worms and asked if we should also be checking for things like ±0. But it seems that, buried in the Configure infrastructure, we already do. an error shall not occur http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00250.html =head2 Allow C<< ->[] >> and C<< ->{} >> instead of C<@{}> and C<%{}> Ben Morrow delivered an amazing hack to the parser to allow C<< $x->[] >> (currently a syntax error) to be semantically equivalent to C<@$x>, and this comes in handy when C<$x> is a complex hash-array-hash-hash-array dereference. Rafael Garcia-Suarez commended Ben on the patch, and asked for a) tests and b) whether C<< qq{$x->p[]} >> worked, since the latter involves working with the scarier parts of the lexer. One problem that arose with builtins and there prototypes is that the lexer really, really, I wants arrays to begin with a C<@> sigil. Nevertheless Ben came back with another iteration of the patch that solved that problem, by pushing the is-it-an-array decision from the lexer into the various ops. As a bonus this slims the C struct, and shaves off an op here and there. Other people admitted to being a bit disturbed by the patch, citing that it added some inconsistencies to the language that were a little too weird to explain away with mere hand-waving. Jonathan Rockway pointed out that this doesn't help the matter of protecting array dereferences from blowing up by guarding it with an empty list as in @{ $might->{be}{undef} || [] } This moved Nicholas Clark to say that autovivification would be less inconsistent if C<@$x>, where C<$x> is undef, returned an empty list. This garnered a certain amount of agreement, but Graham Barr pointed out that code that dereferences C expecting something good to happen is probably buggy. Aristotle Pagaltzis thought that C already provides a satisfactory solution to retrofitting a saner syntax onto Perl 5, and for anything beyond becomes the realm of Perl 6. People asked again why it was that C wasn't in core, and Nicholas Clark did such a wonderful job of summarising the debate that it deserves its own entry right here: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00528.html Matt S. Trout wrapped up the thread to say that new, exotic syntax bending must first of all prove itself as a distinct CPAN module, and only afterwards should it move into core. And if it can't be done without patching the core itself, then the core needs to expose more hooks so that such syntax extensions can be made. Which is sort of the argument for putting autobox in the core, but like David Nicol says, the name is strange, or at least esoteric, and possibly it leads us to the Dark Side Of Laziness. try this at home http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00274.html =head2 Linking to Better Alternatives from core modules Shlomi Fish suggested adding SEE ALSO references from core modules to other modules available on CPAN that solve the issue in better ways. A number of people took issue with the subjective slant of "better" and thought that "alternative" would be, well, better. One of the suggested modules, in relation to C was C, but Sébastien Aperghis-Tramoni mentioned that he had modified a number of programs at work in this very way, but had to roll back the changes due to unexpected interactions between C and other non-Path::Class-aware modules on CPAN. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00351.html =head2 perlbugging non-core modules Alexandr Ciornii continued to enhance C to warn the user if they tried to report a bug in a non-core module. Perhaps part of the reason that no-one commented was that he leveraged CPAN.pm to do the heavy lifting, which makes for one more thing to go wrong. and Module::Corelist? http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00470.html =head2 Fix several problems in C Gregg Weber delivered a patch to fix no less than seven problems in C, the awk-to-Perl convertor, as well as the smarts to deal with two modern awk language extensions. Tels thought that the patch had been inverted, but other than that the patch attracted no comments. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00475.html =head2 C cause trouble for perl's signal handler Gisle Aas reported that the above switch will cause gcc 3.3 to emit incorrect code. This can be patched by adding an explicit return statement at the end of the C function that causes the problem. Another alternative would be to arrange the build process to not apply the -foptimize-sibling-calls switch when compiling F. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00533.html =head1 New and old bugs from RT =head2 Clearing magic (was: C<< length($@)>0 >> for empty C<$@> if utf8 is in use) (#51370) Animator took a stab at resolving this bug report that details how magic associated with C<$@> persists long after the need has gone, and proposed a series of approaches all deficient in one way or another until finally hitting what looked like the right one. Rafael thought the result looked correct, but thought that some more testing would be needed, and also wondered if there was a more concise way of achieving the same result (rather than 8 lines of code). Bram wondered what could be tested, and how to do it. chromatic couldn't think of anything better than scraping the output of C. ye gods, Devel::Peek::XML? http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00635.html =head2 C I Optimzation in regexp (#51568) Nicholas Clark situated the error within C and prodded Graham Barr to integrate the change (or something that meets with his favour) upstream, then it could be merged back into the core afterwards. c'est utile http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00538.html =head2 Warn/abort on attempted perl exit (#52000) Animator suggested overriding the core C built-in function with an appropriately verbose equivalent. John Gardiner Myers was doubtful as to whether that would help in his situation, since things were exiting due to memory allocation failures. last exit to prompt http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00633.html =head2 Segfault on ISA push after symbol table delete (#52074) Rafael fixed up the segfault by ensuring that the deleted stash stays dead, but wondered what the appropriate behaviour should be when asked to act upon a stash that is no more. No clear concensus (between Nicholas, Rafael and Graham Barr) arose, perhaps because in the end this is just another case where the experts just say "yeah well things are a little weird around this part, so don't venture out too far", and move on to other matters. doesn't crash == good enough http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00269.html =head2 Perl 5.10 regression bug in match and substitution evaluation in list context (#52658) Rafael backed out the optimisation that Yamashino Hio had written (that sped up C substitutions by freeing intermediate temporaries). choose correctness http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00282.html =head2 Incorrect variable name in perlintro (#52860) Matt Kraai spotted an error in the documentation where the dubious C<$a> and C<$b> had been replaced by ordinary C<$x> and C<$y> variables, except not entirely. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00246.html =head2 Invalid C of nullified cop (#52920) While testing C, Reini Urban discovered that nulled opcodes were being freed. He proposed a straight forward patch that addressed the symptoms, but wondered if another more subtle patch might be a better approach. Then he realised it was C itself generating spurious data that could never be produced by the core, thus there was no cause for alarm. good cop, bad cop http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00303.html In other discussions, Rafael added some code to the core to keep an eye out for these sorts of shenanigans. never can be too sure http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00281.html =head2 map leaks memory (#53038) Robin Redeker reported that C leaks memory. Bram wondered if this was bug #48004 in another guise. Shlomi Fish confirmed a leak under valgrind. Nicholas Clark used a machine with real hardware watchpoints to pin-point exactly where the leak was occurring, but was then not quite sure if it was more an issue of particularly delayed house-keeping, rather than a leak I. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00376.html =head2 UTF-8 converted to Latin1 for output with format incorrect output (#53054) Michael Koehn submitted a detailed report where UTF-8 being converted to Latin1 in a Perl format went wrong. His workaround was to use an explicit C on the data. Alexandr Ciornii confirmed the problem exists with 5.10 on Windows. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00388.html =head2 Modifying C<$_> inside C (#53186) Ed Avis was bitten by the fact that C takes a copy of its value that is in turn passed to C<$_> for use in C statements. Paul Fenwick pointed out that if one used C instead of C then one could indeed obtain the desired aliasing behaviour. forgiven http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00462.html =head2 perl5.8.8 crashed when I build ikiwiki on gentoo linux (#53200) A bug report that attracted no comments. double free or corruption http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00463.html =head2 Stop F relying on C (#53238) David Dick noticed that some failures for testing C involved the parent and child processes generating a random number. Since the generator wasn't explicitly seeded, it turns out that every once in a while both processes would generate the same number and the test would consequently fail. David wrote a patch to ensure that the numbers are always different, and Rafael applied it. that must have been hard to reproduce http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00508.html =head2 perl-5.10.0-33733 assertion with JSON::XS-2.2 (#53244) David Favor reported a failure in C on the maintenance track of 5.10. Nicholas Clark suggested a patch to fix C. Marc Lehmann was surprised as it seemed to him that C could no longer be used as previously, and thought that many other modules could be prone to the same sort of failure. Jan Dubois was surprised as it seemed to him that people shouldn't be using C unless C was known to be true. Marc still thought it was a regression. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00517.html =head2 Trying to build perl5.8.3 under Maemo environment (#53328) Devendra Purbiya reported a problem with a C call failing miserably. Sébastien Aperghis-Tramoni suggested that the first thing to try would be to use a more modern release, such as 5.8.8 or 5.10.0, which may fix the problem due to fixes made since 5.8.3 was released (over four years ago). http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00600.html =head2 Error on Configure PERL 5.8.6 on HP platform " pthread: not found." (#53330) Alexandra Bacher also reported having problems building a slightly more modern perl from source on the HP platform. H.Merijn Brand enquired as to whether there was a reason she didn't want to a precompiled bundle. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00599.html =head2 Parse problem in F (#53414) Another bug report from the module that would not die. rrrrr, chainsaw, rrrrrrrrr http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00642.html =head2 Perl5 Bug Summary In the second week we saw a welcome decline of 4 tickets, although sadly not enough to make up for the difference of 9 new tickets the previous week. 296 + 1524 = 1820 (+11 -2) http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00251.html 293 + 1523 = 1816 (+6 -10) http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00442.html http://rt.perl.org/rt3/NoAuth/perl5/Overview.html =head1 This is the BBC =over 4 =item Devel::Cover Now fixed in 0.64 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00354.html =back =head1 New Core Modules =over 4 =item Compress::Zlib, IO::Compress::* Paul Marquess synched blead with the latest compression modules available on CPAN. 2.009 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00409.html =item Math::BigInt Tels released v1.89, closing out 4 tickets in the process. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00407.html =item Win32 Jan Dubois uploaded 0.36 to CPAN, and Steve Hay synched it with blead. Not much more than a few tweaks to make it behave nicely when compiled in 64-bit land. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00450.html =back =head1 In Brief Reini Urban found the time to figure out Tels's sins with B and bleadperl>, and wrote a patch to fix it up. all part of the service http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00253.html Brian Greenfield announced that he had B. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00311.html Reini Urban updated the Perl 5 wiki with a summary of B wishing to distribute Perl with their operating system. comments welcome http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00327.html Dave Mitchell wanted to know if it there was anything preventing the inclusion of B 3.x in maint-5.10.x>. Andy Armstrong thought it would be fine. and there was colour! http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00447.html Aschwin van der Woude cross-posted a question from an spctools mailing list regarding a B forking problem>. Tels wondered if the problem was due to F missing inside a C jail. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00494.html Adriano Ferreira synched blead with B>. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00511.html Robin Barker had B I C<\p{Print}>> that Rafael liked sufficiently to accept. (Bug #49302). documents and tests http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00582.html Paul Fenwick wanted to know if he could B in Perl 5.8.x>, especially the upcoming 5.8.9. Nicholas Clark said no, and that it was unlikely that the 5.8 track would ever be able to. time to let go http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00567.html Rafael applied a patch for F B and reverted it after noticing it caused a failure in F. back to the drawing board http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00569.html Bram B>. see bug #46369 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00649.html =head2 Last week's summary 6-12 April 2008 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-04/msg00298.html =head2 About this summary This summary was written by David Landgren. Weekly summaries are published on F and posted on a mailing list, (subscription: F). The archive is at F. Corrections and comments are welcome. If you found this summary useful, please consider contributing to the Perl Foundation or attending a YAPC to help support the development of Perl.