perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From William McKee <will...@knowmad.com>
Subject [MP2] Bug Report - Segfault when using Image::Magick
Date Tue, 07 Jun 2005 06:13:54 GMT
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

When using Image::Magick (either 6.1.9.4 or 6.2.3) under mod_perl, the
server segfaults. Used at the command line or under mod_cgi there are no
errors.

A core dump is attached. This is my first attempt at extracting a
backtrace from a core dump. I only rebuilt mod_perl with debugging
enabled so am not sure if it is sufficient for debugging this problem.

It looks to me that the system is calling thread-enabled libraries which
does not make sense given that my perl binary is not threaded. My
hosting provided and I used ldd to check the httpd binary and the perl
binary but neither were linked with lib_r which he says is the older
pthreads under FreeBSD.

This may be a continuation of a problem I reported earlier regarding
building a debug version of mod_perl. For some reason, my system is
finding APR_HAS_THREADS defined. Perhaps if I could figure out why that
is defined and make it undefined, this segfault will disappear.


2. Used Components and their Configuration:

*** mod_perl version 2.000000

*** using /stubs/usr_local/src/mod_perl-2.0.0/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB      => aprext
  MP_AP_CONFIGURE => --with-mpm=prefork --prefix=/usr/local/apache2_perl --enable-rewrite=static
  MP_AP_PREFIX    => /usr/local/src/httpd-2.0.54
  MP_COMPAT_1X    => 1
  MP_DEBUG        => 1
  MP_GENERATE_XS  => 1
  MP_LIBNAME      => mod_perl
  MP_TRACE        => 1
  MP_USE_STATIC   => 1


*** The httpd binary was not found


*** (apr|apu)-config linking info

-L/usr/local/src/httpd-2.0.54/srclib/apr-util/.libs
 -L/usr/local/src/httpd-2.0.54/srclib/apr-util -laprutil-0 -lexpat
-L/usr/local/src/httpd-2.0.54/srclib/apr/.libs
 -L/usr/local/src/httpd-2.0.54/srclib/apr -lapr-0 -lm -lcrypt 



*** /usr/public/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
  Platform:
    osname=freebsd, osvers=5.3-release-p5, archname=i386-freebsd-64int
    uname='freebsd hobbiton.shire.net 5.3-release-p5 freebsd 5.3-release-p5 #3: thu feb 3
23:10:24 mst 2005 chad@bywater.shire.net:usrobjusrsrcsysbywater-smp i386 '
    config_args='-sde -Dprefix=/usr/public/ -Dotherlibdirs=/usr/public//lib/perl5/site_perl/5.8.6/mach:/usr/public//lib/perl5/site_perl/5.8.6
-Darchlib=/usr/public//lib/perl5/5.8.6/mach -Dprivlib=/usr/public//lib/perl5/5.8.6 -Dman3dir=/usr/public//lib/perl5/5.8.6/perl/man/man3
-Dman1dir=/usr/public//man/man1 -Dscriptdir=/usr/public//bin -Dsitearch=/usr/local/lib/perl5/site_perl/5.8.6/mach
-Dsitelib=/usr/local/lib/perl5/site_perl/5.8.6 -Dsiteman3dir=/usr/local/lib/perl5/5.8.6/man/man3
-Dsiteman1dir=/usr/local/man/man1 -Dsitebin=/usr/local/bin -Dsitescript=/usr/local/bin -Ui_malloc
-Ui_iconv -Uinstallusrbinperl -Dcc=cc -Doptimize=-O -pipe  -Duseshrplib -Dccflags=-DAPPLLIB_EXP="/usr/public//lib/perl5/5.8.6/BSDPAN"
-Ud_dosuid -Ui_gdbm -Dusethreads=n -Dusemymalloc=y -Duse64bitint'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=undef uselongdouble=undef
    usemymalloc=y, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/public//lib/perl5/5.8.6/BSDPAN" -DHAS_FPSETMASK
-DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -I/usr/local/include',
    optimize='-O -pipe ',
    cppflags='-DAPPLLIB_EXP="/usr/public//lib/perl5/5.8.6/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.4.2 [FreeBSD] 20040728', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -Wl,-E -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib
    libs=-lm -lcrypt -lutil
    perllibs=-lm -lcrypt -lutil
    libc=, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-R/usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE'
    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: USE_64_BIT_INT USE_LARGE_FILES
  Locally applied patches:
	SUIDPERLIO0 - fix PERLIO_DEBUG local root exploit (CAN-2005-0155)
	SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156)
  Built under freebsd
  Compiled at Feb 15 2005 07:22:27
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /usr/local/lib/perl5/site_perl/5.8.6/mach
    /usr/local/lib/perl5/site_perl/5.8.6
    /usr/local/lib/perl5/site_perl
    /usr/public//lib/perl5/5.8.6/BSDPAN
    /usr/public/lib/perl5/5.8.6/i386-freebsd-64int
    /usr/public/lib/perl5/5.8.6
    /usr/public//lib/perl5/site_perl/5.8.6/mach
    /usr/public//lib/perl5/site_perl/5.8.6/i386-freebsd-64int
    /usr/public//lib/perl5/site_perl/5.8.6
    .

*** Packages of interest status:

Apache2            : -
Apache2::Request   : -
CGI                : 3.05, 3.10
ExtUtils::MakeMaker: 6.17, 6.17
LWP                : 5.803
mod_perl           : -
mod_perl2          : 2.000000


3. This is the core dump trace: (if you get a core dump):

#0  0x882fa1d7 in kill () from /lib/libc.so.5
(gdb) bt
#0  0x882fa1d7 in kill () from /lib/libc.so.5
#1  0x882ef27e in raise () from /lib/libc.so.5
#2  0x88361627 in abort () from /lib/libc.so.5
#3  0x885d9c3f in _thread_exit () from /usr/lib/libc_r.so.5
#4  0x885d8311 in _thread_init () from /usr/lib/libc_r.so.5
#5  0x885cf1cc in _thread_init_hack () from /usr/lib/libc_r.so.5
#6  0x885db322 in _find_thread () from /usr/lib/libc_r.so.5
#7  0x885cbb7e in _init () from /usr/lib/libc_r.so.5
#8  0x880f86c5 in find_symdef () from /libexec/ld-elf.so.1
#9  0x880f902a in dlopen () from /libexec/ld-elf.so.1
#10 0x080d8c44 in XS_DynaLoader_dl_load_file ()
#11 0x881973a8 in Perl_pp_entersub () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#12 0x8818fea1 in Perl_runops_standard () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#13 0x8813f5bf in S_call_body () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#14 0x8813f335 in Perl_call_sv () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#15 0x88142c82 in S_call_list_body () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#16 0x8814294e in Perl_call_list () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#17 0x8816b08e in Perl_newATTRSUB () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#18 0x881681b9 in Perl_utilize () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#19 0x88161317 in Perl_yyparse () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#20 0x881bfc52 in S_doeval () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#21 0x881c1931 in Perl_pp_entereval () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#22 0x8818fea1 in Perl_runops_standard () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#23 0x8813f5bf in S_call_body () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#24 0x8813f335 in Perl_call_sv () from /usr/public/lib/perl5/5.8.6/i386-freebsd-64int/CORE/libperl.so
#25 0x0806d54e in modperl_callback (handler=0x819c560, p=0x81ce018, r=0x81ce050, s=0x8107ea0,
args=0x826a8bc) at modperl_callback.c:100
#26 0x0806db9a in modperl_callback_run_handlers (idx=6, type=4, r=0x81ce050, c=0x0, s=0x8107ea0,
pconf=0x0, plog=0x0, ptemp=0x0,
    run_mode=MP_HOOK_RUN_FIRST) at modperl_callback.c:261
#27 0x0806df33 in modperl_callback_per_dir (idx=6, r=0x81ce050, run_mode=MP_HOOK_RUN_FIRST)
at modperl_callback.c:368
#28 0x08069e5b in modperl_response_handler_run (r=0x81ce050, finish=0) at mod_perl.c:979
#29 0x0806a0a9 in modperl_response_handler_cgi (r=0x81ce050) at mod_perl.c:1074
#30 0x080b286e in ap_run_handler ()
#31 0x080b2fee in ap_invoke_handler ()
#32 0x0809482c in ap_process_request ()
#33 0x0808eb27 in ap_process_http_connection ()
#34 0x080bf236 in ap_run_process_connection ()
#35 0x080bf630 in ap_process_connection ()
#36 0x080b10f5 in child_main ()
#37 0x080b127f in make_child ()
#38 0x080b12f5 in startup_children ()
#39 0x080b16f2 in ap_mpm_run ()
#40 0x080b83fe in main ()
(gdb)


This report was generated by /usr/local/bin/mp2bug on Tue Jun  7 05:45:40 2005 GMT.

-------------8<---------- End Bug Report --------------8<----------



-- 
Knowmad Services Inc.
http://www.knowmad.com

Mime
View raw message