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

Re: HTML::Mason segfault

Expand Messages
  • Stas Bekman
    ... Not much magic here. It all comes down to the common problem of libraries collision. It s the same problem with conflicting Berkley DB and other libs. When
    Message 1 of 5 , Aug 1, 2004
    • 0 Attachment
      Richard Bauer wrote:
      > On Wednesday 21 July 2004 21:03, Stas Bekman wrote:
      >
      >>Richard Bauer wrote:
      >>
      >>>Hi List,
      >>>
      >>>It's my first post.
      >>
      >>welcome :)
      >>
      >>
      >>>I'm running a remote dedicated webserver running a RH 7.2.
      >>>Originally perl5.6.1 was pre-installed (rpm), so I downloaded and
      >>>installed perl5.8.4. I decided to download some fresh Apache and
      >>>mod_perl: -Apache 1.3.31
      >>>-mod_perl 1.29
      >>>
      >>>When I set an HTML::Mason handler to serve a VirtualHost, httpd logs:
      >>>[notice] child pid 9943 exit signal Segmentation fault (11)
      >>>
      >>>Note that if the HTML::Mason module is not installed, the httpd does not
      >>>segfault.
      >>>
      >>>It seems to be a shared lib issue, but I'm not a pro of that. I hope this
      >>>issue is related to this mailing list and I hope that you will be able to
      >>>give me some help to solve this problem.
      >>
      >>[...]
      >>
      >>
      >>>(gdb) bt
      >>>#0 0x0809fc4b in XS_Apache__Table_FETCH ()
      >>
      >>In case it uses XML modules it could be an EXPAT issue, mentioned here:
      >>http://marc.free.net.ph/message/20030904.192959.83632cb7.html
      >>
      >
      >
      > Thank you Stas for your input. I read the link above with a lot of interest
      > and tried to compile mod_perl and Apache without EXPAT. The first attempt did
      > not success, and I worked around re-installing some perl modules. After some
      > hours and a last try, HTML::Mason works fine. :-) I feel that like black
      > magic because I cannot explain why it works.

      Not much magic here. It all comes down to the common problem of
      libraries collision. It's the same problem with conflicting Berkley DB
      and other libs. When you run an app, you need to make sure that you've
      one implementation loaded and not two.

      >>I'm not on the mod_perl mailing list, but I saw your recent post in the
      >>archives. I'm not sure if you resolved it, but I was having a similar
      >>problem recently.
      >>
      >>1. Using mod_perl only, everything worked fine.
      >>2. When I add the Mason handler, Apache starts fine, but segfaults on first
      >>request.
      >>3. (I'm on FreeBSD, Apache 1.x, most recent Perl.)
      >>
      >>I was really puzzled, as I build systems like this frequently, and never had
      >>this problem. But, then I realized that I had forgotten to install MM
      >>(http://www.ossp.org/pkg/lib/mm/). When I installed MM and rebuilt Apache,
      >>the problem disappeared.
      >>
      >>I built MM as follows:
      >>
      >>fetch ftp://ftp.ossp.org/pkg/lib/mm/mm-1.3.0.tar.gz
      >>tar xzf mm-1.3.0.tar.gz
      >>cd mm-1.3.0
      >>./configure --disable-shared
      >>make
      >>make test
      >>make install
      >>./libtool --finish /usr/local/lib
      >>
      >>Then, when installing Apache, I used:
      >>
      >>setenv EAPI_MM SYSTEM
      >>setenv SSL_BASE SYSTEM
      >>./configure --activate-module=src/modules/perl/libperl.a
      >>
      >>Hope this might help!
      >
      >
      > On my system, this lib seems to be installed since a lot of time, so I think
      > it is not the cause of my issue.
      >
      > What do you think of this?

      I don't know. I never had this problem.

      > Stas, I'd like to ask you another question:
      >
      > Scenario1:
      > I configure mod_perl with NO_HTTPD=1, PREP_HTTPD=1 and
      > APACI_ARGS='--disable-rule=EXPAT', after that, make and make install. In the
      > Apache dir, ./configure ... (other mods to be included), make and finally
      > make install.
      > Result: The server crashes
      >
      > Scenario2:
      > I configure mod_perl with DO_HTTPD=1 and APACI_ARGS='--disable-rule=EXPAT',
      > make and make install. In the Apache dir: make install
      > Result: The server doesn't crash.
      >
      > What do you think about these two scenarios, does it make sense to you?

      It makes perfect sense. In the first scenario you tell Apache to
      reconfigure itself, completely forgetting the config mod_perl told it to
      use. The first scenario is by all means invalid.

      > And finally, how to know if Apache has been compiled with/without expate-lite?

      I've never used it myself so I can't tell. But if it's build as a shared
      lib, you can find that out using ldd(1). If it's statically built you
      can use nm(1) or even strings(1). May be apxs can be of help too.

      --
      __________________________________________________________________
      Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
      http://stason.org/ mod_perl Guide ---> http://perl.apache.org
      mailto:stas@... http://use.perl.org http://apacheweek.com
      http://modperlbook.org http://apache.org http://ticketmaster.com

      --
      Report problems: http://perl.apache.org/bugs/
      Mail list info: http://perl.apache.org/maillist/modperl.html
      List etiquette: http://perl.apache.org/maillist/email-etiquette.html
    Your message has been successfully submitted and would be delivered to recipients shortly.