pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/39755: textproc/libxml2 2.7.2 breaks mod_php with apache 1.3



>Number:         39755
>Category:       pkg
>Synopsis:       textproc/libxml2 2.7.2 breaks mod_php with apache 1.3
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Oct 17 05:10:00 +0000 2008
>Originator:     David A. Holland
>Release:        NetBSD 4.0_STABLE (of 20080715)
>Organization:
>Environment:
System: NetBSD bantha 4.0_STABLE NetBSD 4.0_STABLE (BANTHA) #8: Sat May 24 
03:13:01 EDT 2008  root@bantha:/usr/src/sys/arch/i386/compile/BANTHA i386
Architecture: i386
Machine: i386
>Description:

Starting apache configured to use ap-php yields SIGABRT during startup
with no error message.

These are the versions:

  apache-1.3.41
  ap13-php5-5.2.6nb1
  libxml2-2.7.2

Reverting to 20081011 (libxml2-2.7.1nb1) avoids the problem.

The problem looks like the usual issue when threaded and
non-threaded code is combined:

# gdb /usr/pkg/sbin/httpd
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386--netbsdelf"...(no debugging symbols found)

(gdb) r -DSSL
Starting program: /usr/pkg/sbin/httpd -DSSL
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGABRT, Aborted.
0xbbafe23f in kill () from /usr/lib/libc.so.12
(gdb) where
#0  0xbbafe23f in kill () from /usr/lib/libc.so.12
#1  0xbbb00293 in __libc_mutex_unlock () from /usr/lib/libc.so.12
#2  0xbbb9a80b in malloc () from /usr/lib/libc.so.12
#3  0xbb908b0f in php_create_dir () from /usr/pkg/lib/httpd/mod_php5.so
#4  0x08072c43 in ap_single_module_configure ()
#5  0x0806ee43 in load_module ()
#6  0x08073d7b in ap_handle_command ()
#7  0x080740c7 in ap_srm_command_loop ()
#8  0x0807466a in ap_process_resource_config ()
#9  0x08074a36 in ap_read_config ()
#10 0x0807d6bf in main ()
(gdb) 

Looking at __libc_mutex_unlock suggests that this is because it's
getting to thread stubs when the global threaded flag is set.

>How-To-Repeat:

Install, configure, start apache.

>Fix:

Dunno. Happened on a production machine, so I couldn't spend time
digging around.

Also, wouldn't it be better for that libc abort to print some kind of
message in the common case? (Perhaps if isatty(STDERR_FILENO) is true?)



Home | Main Index | Thread Index | Old Index