Loading ...
Sorry, an error occurred while loading the content.

Re: SOAP::Lite and threads

Expand Messages
  • jmerelo@geneura.ugr.es
    OK, OK, I can hear you all: do your homework, man, read the FAQ, RTFM, go to school, and that s what I did: I separated the creation of the soap object
    Message 1 of 6 , May 28, 2001
    • 0 Attachment
      OK, OK, I can hear you all: do your homework, man, read the FAQ, RTFM,
      go to school, and that's what I did: I separated the creation of the
      soap object (outside the thread) from the call to the SOAP object
      (within the thread). Now the error I have is:

      [root@micasa ga-xsl]# ./GA-threaded-2.pl
      Can't locate HTML/HeadParser.pm in @INC (@INC contains:
      /usr/lib/perl5/site_perl/5.6.0/
      /usr/local/perl5_6_1/lib/5.6.1/i686-linux-thread
      /usr/local/perl5_6_1/lib/5.6.1
      /usr/local/perl5_6_1/lib/site_perl/5.6.1/i686-linux-thread
      /usr/local/perl5_6_1/lib/site_perl/5.6.1
      /usr/local/perl5_6_1/lib/site_perl . /usr/lib/perl5/site_perl/5.6.0/)
      at /usr/lib/perl5/site_perl/5.6.0//LWP/Protocol.pm line 47.
      Compilation failed in require at
      /usr/lib/perl5/site_perl/5.6.0//LWP/UserAgent.pm line 103.
      BEGIN failed--compilation aborted at
      /usr/lib/perl5/site_perl/5.6.0//LWP/UserAgent.pm line 103.
      Compilation failed in require at
      /usr/lib/perl5/site_perl/5.6.0//SOAP/Transport/HTTP.pm line 52.
      [root@micasa ga-xsl]# find /usr/lib/perl5/ -name HeadParser.pm -print
      /usr/lib/perl5/site_perl/5.005/i386-linux/HTML/HeadParser.pm
      /usr/lib/perl5/site_perl/5.6.0/i386-linux/HTML/HeadParser.pm
      [root@micasa ga-xsl]#
      --

      And HTML::HeadParser is there allright, and in the path; looks like
      the non-thread-safe part is maybe in LWP. Maybe it all boils down to:
      is LWP thread-safe? And the answer is probably not? Can/should it
      be?... welll...

      Any other answer (coming from others apart from myself) will be
      greatly appreciated)

      Thanks!

      J
    • Philip Molter
      ... Probably not is the answer to both. The thing you have to remember about threads in Perl is they re still highly experimental. In fact, unless you
      Message 2 of 6 , May 28, 2001
      • 0 Attachment
        On Mon, May 28, 2001 at 06:10:53PM -0000, jmerelo@... wrote:
        : And HTML::HeadParser is there allright, and in the path; looks like
        : the non-thread-safe part is maybe in LWP. Maybe it all boils down to:
        : is LWP thread-safe? And the answer is probably not? Can/should it
        : be?... welll...

        Probably not is the answer to both. The thing you have to remember
        about threads in Perl is they're still highly experimental. In fact,
        unless you compile the perl binary just right (even with thread
        support), even the examples that they give in the thread tutorials
        won't work. Knowing Redhat's history with Perl, I would say it's
        probably not. There's also currently no real good documentation on
        which Perl modules are threadsafe, primarily because no one is using
        them in any serious production work (again, through the warning in the
        thread tutorials).

        It's just not a good idea to use threads with Perl. Threading won't be
        fixed in the 5.6 maintenance series. It might be fixed in 5.7. It
        will definitely be written into Perl 6 correctly.

        In short, don't use threads in Perl. Fork/exec.

        * Philip Molter
        * DataFoundry.net
        * http://www.datafoundry.net/
        * philip@...
      • Paul Kulchenko
        Hi, Philip! Unfortunately my impression is very similar to that. I was working with threads since 5.005 on many different platforms and results are not very
        Message 3 of 6 , May 28, 2001
        • 0 Attachment
          Hi, Philip!

          Unfortunately my impression is very similar to that. I was working
          with threads since 5.005 on many different platforms and results are
          not very pleasant. In most cases script just died with diagnostics
          that it couldn't find module that is definitely there and any attempt
          to debug it just showed different result every time (it's not a very
          straightforward to debug threaded app). I end up with writing
          FakeThread module that emulated thread syntax (async, join, detach,
          eval, etc.) and at least I don't need to rewrite script if threads
          are not supported or I don't want them to be real. I also used
          semaphores to regulate number of running threads and in most cases
          one thread is running just fine :)) and more than one crash in
          unpredictable places (even in different on different runs).

          I still hope it'll work out, but for now all my tries to run it in
          threaded mode (with 5.6, 5.6.1) were not successful so far.

          Best wishes, Paul.

          --- Philip Molter <philip@...> wrote:
          > On Mon, May 28, 2001 at 06:10:53PM -0000, jmerelo@...
          > wrote:
          > : And HTML::HeadParser is there allright, and in the path; looks
          > like
          > : the non-thread-safe part is maybe in LWP. Maybe it all boils down
          > to:
          > : is LWP thread-safe? And the answer is probably not? Can/should it
          > : be?... welll...
          >
          > Probably not is the answer to both. The thing you have to remember
          > about threads in Perl is they're still highly experimental. In
          > fact,
          > unless you compile the perl binary just right (even with thread
          > support), even the examples that they give in the thread tutorials
          > won't work. Knowing Redhat's history with Perl, I would say it's
          > probably not. There's also currently no real good documentation on
          > which Perl modules are threadsafe, primarily because no one is
          > using
          > them in any serious production work (again, through the warning in
          > the
          > thread tutorials).
          >
          > It's just not a good idea to use threads with Perl. Threading
          > won't be
          > fixed in the 5.6 maintenance series. It might be fixed in 5.7. It
          > will definitely be written into Perl 6 correctly.
          >
          > In short, don't use threads in Perl. Fork/exec.
          >
          > * Philip Molter
          > * DataFoundry.net
          > * http://www.datafoundry.net/
          > * philip@...
          >
          > To unsubscribe from this group, send an email to:
          > soaplite-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to
          > http://docs.yahoo.com/info/terms/
          >
          >


          __________________________________________________
          Do You Yahoo!?
          Yahoo! Auctions - buy the things you want at great prices
          http://auctions.yahoo.com/
        • Juan Julian Merelo Guervos
          ... Well, it might, but I couldn t even compile a threaded version of 5.7.1 (see my post in comp.lang.perl.misc...) ... I think that s too bad... I don t know
          Message 4 of 6 , May 29, 2001
          • 0 Attachment
            > It's just not a good idea to use threads with Perl. Threading won't
            > be
            > fixed in the 5.6 maintenance series. It might be fixed in 5.7. It
            > will definitely be written into Perl 6 correctly.
            >

            Well, it might, but I couldn't even compile a threaded version of 5.7.1
            (see my post in comp.lang.perl.misc...)

            > In short, don't use threads in Perl. Fork/exec.
            >

            I think that's too bad... I don't know if threads in python work
            correctly, but if they do, it will be an even better alternative to
            PERL. Not to mention Java. Besides, making a module thread-safe is not
            so difficult, it's just a matter of being careful with global variables,
            mainly. Too bad...

            J

            --
            jmerelo@... | jjmerelo@...
            JJ Merelo | http://geneura.ugr.es/~jmerelo
            Grupo Geneura ---- Univ. Granada | http://www.geneura.org/
          Your message has been successfully submitted and would be delivered to recipients shortly.