Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Alias (5735)

Alias
  (email not shown publicly)
http://ali.as/

Journal of Alias (5735)

Saturday July 11, 2009
11:19 AM

Help needed from Germans and Solaris users

[ #39270 ]

In taking over IPC::Run, my goal was not to make it a better module, refactor it, or otherwise dramatically improve it. I'm just trying to fix the module packaging, and get it passing tests (fixing either specific bugs, or correcting the tests).

I've now managed to flush out all the Windows problems, and all the bugs on platforms I can replicate.

Now I'm stuck, and can't make any further progress. I don't have access to the platforms on which the problems occur.

So I'd like to ask for any volunteers that can help fix the two big failure cases.

The first is a bug specifically related to Solaris. You can see details of the failure here.

http://www.nntp.perl.org/group/perl.cpan.testers/2009/07/msg4535302.html

The second is something related to locale, with all the current failure reports occurring on Linux machines set to the German UTF8 locale.

http://www.nntp.perl.org/group/perl.cpan.testers/2009/07/msg4534455.html.

RT has bugs reported properly for the latter one, but I can't fix it.

What I need for both these bugs is either a patch for the code to fix the bug, or a patch for the tests if you can confirm the test is invalid.

Or even better, I'm happy to hand out commit rights for people to apply the fixes directly.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Isn't the issue simply this line

    (($c < 200) and ($@||'')=~ m/^Resource temporarily/) and redo;

    in IPC::Run::IO? It's string-matching against $!, which is pretty stupid. Is 'Ulazno/izlazna greáka' simply (mangled) Croatian for EAGAIN?

    • It is more pervasive than just the single spot.

      Adding || $@ =~ /^Ulazno\/izlazna gre/ at line 2404 of Run.pm causes the error to go away.

      I think using $! in numeric context gives access to the errno value which would be portable between locales but you may need some help from IO::Pty in order to get access to that.

      • Unfortunately you can't rely on $! still having the right value by the time the exception is caught. Really all those croaks in _read &c. should be throwing proper exception objects which catch the (numeric) value of $!. I would want to switch the whole thing to use autodie, but that's quite a major change.
    • It's Croatian, but it means "Input/output error".

  • I usually workaround the IPC::Run test failure by setting the locale to C. So maybe you can just do the same in the test script, somehow, locally.

    • It is a real error, though, not a bug in the tests. If someone uses IPC::Run in a non-C locale it will fail to work correctly: if anything, tests should be added to catch the bug.

      Setting the locale to C somewhere appropriate in IPC::Run itself might be a workaround, but I've no idea how the stringification of $! reacts to changing the locale. I would expect it to be quite system-specific: here (FreeBSD) I can't get perl to give me localized error messages at all (I think the translations may simply not exi

  • Found this little thing that might interest you about one of the t/pty.t bugs. http://www.simplicidade.org/notes/archives/2007/01/graphviz_under.html [simplicidade.org] It seems that the "bug" is still present in IPC-Run-0.83. I don't have access to a MacOSX machine, but maybe someone else can verify if it FAILs or PASSes.
  • I had similar problems with access to machines when I was fixing Crypt::Rijndael. I realized that I had Solaris 10 media on my shelf, and set up a virtual machine in VMWare. Now I have access to it.

    If you want the virtual machine we could figure out how to exchange it, but you can also get OpenSolaris [opensolaris.com] on your own.

    I know that the community can also chip in, but I found that model like taking your punch cards down to the operator's office and waiting for him to run your program. Even though some Solaris peopl

    • If the CPAN Testers identified the specific VM/configurations they were using to run tests, it would certainly make it easier to replicate their bugs.

      • I think we talked about this in Iceland. Wouldn't life be grand if a CPAN tester could send you a VM of the setup causing the failure!

        • Forget "sending".

          I want the CPAN Testers report to state the URL or UUID of the VM that was used to make it.

          That way you wouldn't need to co-ordinate, you just go to some website and pull it.