Bug report for APR [2009/07/12]

2009-07-13 Thread bugzilla
+---+
| Bugzilla Bug ID   |
| +-+
| | Status: UNC=Unconfirmed NEW=New ASS=Assigned|
| | OPN=ReopenedVER=Verified(Skipped Closed/Resolved)   |
| |   +-+
| |   | Severity: BLK=Blocker CRI=Critical  REG=Regression  MAJ=Major   |
| |   |   MIN=Minor   NOR=NormalENH=Enhancement TRV=Trivial |
| |   |   +-+
| |   |   | Date Posted |
| |   |   |  +--+
| |   |   |  | Description  |
| |   |   |  |  |
|16056|Inf|Enh|2003-01-14|Shared memory  mutex ownership not correctly esta|
|20382|New|Nor|2003-05-31|Poor performance on W2000 AS  |
|28453|New|Enh|2004-04-18|apr_uri should parse relative to a base URI   |
|33188|Inf|Nor|2005-01-21|libtool linking failure on Suse   |
|33490|Inf|Nor|2005-02-10|APR does not compile with Borland C++ |
|38410|New|Nor|2006-01-27|apr/win32 misinterpreted the meaning of WAIT_ABAND|
|39289|New|Enh|2006-04-12|test suite additions for trylock functions|
|39853|Inf|Nor|2006-06-21|apr_strtoi64 does not build on WinCE due to lack o|
|39895|New|Enh|2006-06-23|apr_os_strerror on WinCE needs to xlate unicode-u|
|39896|New|Enh|2006-06-23|Output test status to OutputDebugString in additio|
|40020|New|Enh|2006-07-11|Add support for apr_uint8_t and apr_int8_t types  |
|40193|Inf|Nor|2006-08-06|Patches to support different compiler than EMX on |
|40622|New|Enh|2006-09-27|enhance apr temp files on NT to be more secure|
|40758|Ver|Maj|2006-10-15|WIN64, apr_vformatter(..) cannot handle 64bit poin|
|40939|New|Enh|2006-11-09|pool minimal allocation size should be configurabl|
|41192|Inf|Trv|2006-12-17|Add the expat libtool file to the LT_LDFLAGS varia|
|41254|New|Enh|2006-12-28|apr_queue_t enhancements  |
|41351|New|Enh|2007-01-11|Tivoli LDAP SDK support in aprutil|
|41352|New|Min|2007-01-11|openldap and per-connection client certificates in|
|41916|Inf|Nor|2007-03-21|MinGW support |
|42365|New|Enh|2007-05-09|Suppress console for apr_proc_create() created pro|
|42728|New|Nor|2007-06-23|mod_ssl thread detaching not releasing handles|
|42848|New|Enh|2007-07-10|add IP TOS support to apr_socket_opt_set()|
|43035|New|Enh|2007-08-04|Add ability to wrap ssl around pre-existing socket|
|43066|New|Nor|2007-08-08|get_password on Windows is kludgy |
|43152|Inf|Nor|2007-08-16|apr_socket_opt_get doesn't work with APR_SO_SNDBUF|
|43172|Ass|Nor|2007-08-20|apr-util don't want to find mozldap-6.x   |
|43217|New|Min|2007-08-26|All-ones IPv6 subnet mask not accepted|
|43244|New|Enh|2007-08-29|apr_socket_t missing dup, dup2 and setaside   |
|43302|New|Nor|2007-09-04|apr_bucket_socket doesn't work with non-connected |
|43309|New|Enh|2007-09-05|add apr_socket_sendtov support|
|43375|Ass|Nor|2007-09-13|Pool integrity check fails for apr threads|
|43499|New|Nor|2007-09-27|apr_global_mutex_create returns error Access deni|
|43507|New|Enh|2007-09-28|configure flag for SHELL_PATH |
|43508|New|Enh|2007-09-28|Please be available whether atomics use thread mut|
|43793|New|Enh|2007-11-04|builtin atomics on Windows|
|44127|New|Enh|2007-12-21|File Extended Attributes Support  |
|44128|New|Enh|2007-12-21|apr_os_file_put() does not register a cleanup hand|
|44129|New|Enh|2007-12-21|apr_os_dir_put() does not allocate an entry buffer|
|44186|New|Nor|2008-01-08|[PATCH] Add memcached 1.2.4 features to apr_memcac|
|44230|New|Enh|2008-01-14|Add Ark Linux support to config.layout|
|44432|New|Enh|2008-02-15|patch - proposal for application function hooks   |
|44550|Inf|Maj|2008-03-06|Solaris sendfilev() handling - EINTR appears to ha|
|44684|Inf|Nor|2008-03-26|32 libexpat used instead of 64 bit|
|45232|New|Nor|2008-06-18|Empty APU_MODULES makes sh syntax error   |
|45256|New|Maj|2008-06-23|lack of object check for null value cause expectio|
|45276|Opn|Nor|2008-06-25|Little issue with srclib/apr-util/Makefile|
|45291|New|Nor|2008-06-26|apr_thread_t is leaking   |
|45298|New|Nor|2008-06-27|apr_os_thread_get() differs between windows and un|
|45321|New|Nor|2008-07-01|Handling IPV6_V6ONLY on NT 5.x|
|45389|New|Nor|2008-07-13|testrand fails 5 tests (55%) - line 62: randomnes|

Re: DO NOT REPLY [Bug 47519] APR segfaults in apr_pollset_add()

2009-07-13 Thread Rainer Jung
Hi Rüdiger,

On 13.07.2009 18:03, bugzi...@apache.org wrote:
 https://issues.apache.org/bugzilla/show_bug.cgi?id=47519
 
 
 Ruediger Pluem rpl...@apache.org changed:
 
What|Removed |Added
 
  Status|NEW |RESOLVED
  Resolution||DUPLICATE
 
 
 
 
 --- Comment #1 from Ruediger Pluem rpl...@apache.org  2009-07-13 09:03:24 
 PST ---
 
 
 *** This bug has been marked as a duplicate of bug 46467 ***

Did you notice his comment:

 8 -
At first I suspected this to be a dupe of bug 46467 since I ran
2.6.25.4, but an update to 2.6.29.5 didn't help. CONFIG_EPOLL is y.

So I backdated from apr-1.3.6 to -1.3.5 and the problem went away.
 8 -

Regards,

Rainer


apr 1.3.6 incorrectly includes -g -O2 in 'pkg-config --cflags

2009-07-13 Thread Rhys Ulerich
Hi all,

apr version 1.3.6 incorrectly includes -g -O2 in the output of
'pkg-config --cflags apr-1':
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2
-pthread 
-I/org/centers/pecos/LIBRARIES/APR/apr-1.3.6-intel-10.1.017/include/apr-1
A pkg-config package shouldn't be mucking with optimization and debugging flags.

Generally, all of the entries from -DLINUX=2 through -O2 look suspect
in that output.  I'm not good enough with apr to know if they're
required, however.  An #if statement including LINUX appears in the
installed apr_general.h.  Neither _REENTRANT nor _GNU_SOURCE appears
in any of the headers in the installation directory.

These entries appear in pkg-config output because @EXTRA_CPPFLAGS@ and
@EXTRA_CFLAGS@ are present in apr.pc.in.

Thanks for your time,
Rhys


Re: apr-1.3.6 on linux kernel 2.6.26

2009-07-13 Thread Bojan Smojver
On Thu, 2009-07-09 at 13:54 -0400, Chetan Reddy wrote:
 configure.in in apr-1.3.6 checks for epoll_create1 using
 AC_CHECK_FUNCS . Instead, should it have a check similar to the check
 for epoll_create? i can create a patch if someone can confirm that
 this is indeed the problem.

I've seen you patch attached to bug #47519. Is this the only function
that is present by unimplemented on Debian you are running? How about
the rest of the related functions like dup3 and accept4? If they could
potentially be causing problems as well, we can work around them in
configure.in too.

-- 
Bojan



Re: apr 1.3.6 incorrectly includes -g -O2 in 'pkg-config --cflags

2009-07-13 Thread Bojan Smojver
On Mon, 2009-07-13 at 17:19 -0500, Rhys Ulerich wrote:
 These entries appear in pkg-config output because @EXTRA_CPPFLAGS@ and
 @EXTRA_CFLAGS@ are present in apr.pc.in.

How did you configure apr? I have this in my config.nice:
--
CFLAGS=-g -O0 -Wall -fstack-protector; export CFLAGS
./configure \
--prefix=/home/groups/devel/run/apache \
CFLAGS=-g -O0 -Wall -fstack-protector \
$@
--

Which then gives this when running pkg-config:
--
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread
-I/home/groups/devel/run/apache/include/apr-1
--

In other words, no traces of optimisation flags anywhere. Things like
_LARGEFILE64_SOURCE are important, as they may cause structures in APU
to have the wrong size, if not specified.

-- 
Bojan



Re: apr 1.3.6 incorrectly includes -g -O2 in 'pkg-config --cflags

2009-07-13 Thread Rhys Ulerich
 How did you configure apr?

My config.nice for a build using Intel compilers contains
--8---
#! /bin/sh
#
# Created by configure

CC=icc; export CC
./configure \
--prefix=/org/centers/pecos/LIBRARIES/APR/apr-1.3.6-intel-10.1.017 \
CC=icc \
CXX=icpc \
CXXFLAGS=-DMPICH_IGNORE_CXX_SEEK \
F77=ifort \
$@
--8---

For the GNU compilers I see the same pkg-config behavior and my
config.nice contains:
---8---
#! /bin/sh
#
# Created by configure

CC=gcc; export CC
./configure \
--prefix=/org/centers/pecos/LIBRARIES/APR/apr-1.3.6-gcc-4.3.1-ubuntu-amd64 \
CC=gcc \
CXX=g++ \
CXXFLAGS=-DMPICH_IGNORE_CXX_SEEK \
F77=gfortran \
$@
---8---

I am using autoconf v2.61.  I see the same behavior on a Ubuntu 8.04
and 9.04 system.  Any other details I can provide?

 CFLAGS=-g -O0 -Wall -fstack-protector; export CFLAGS
 ./configure \
 --prefix=/home/groups/devel/run/apache \
 CFLAGS=-g -O0 -Wall -fstack-protector \
 $@

What happens for you when you don't set CFLAGS prior to running ./configure?

- Rhys


Re: apr 1.3.6 incorrectly includes -g -O2 in 'pkg-config --cflags

2009-07-13 Thread Bojan Smojver
On Mon, 2009-07-13 at 19:30 -0500, Rhys Ulerich wrote:
 What happens for you when you don't set CFLAGS prior to
 running ./configure?

Hmm, what do you know:
-
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2
-pthread -I/home/groups/devel/run/apache/include/apr-1
-

Interesting. Must be some kind of default or something that slips in.
I'll have a look.

-- 
Bojan



0.9 util puzzle

2009-07-13 Thread William A. Rowe, Jr.
Why are all my APR_BRIGADE_INSERT_HEAD(b, eos); and similar statements
now causing;

ftp_request.c:76: warning: dereferencing type-punned pointer will break
strict-aliasing rules
ftp_request.c:76: warning: dereferencing type-punned pointer will break
strict-aliasing rules
ftp_request.c:76: warning: dereferencing type-punned pointer will break
strict-aliasing rules

That's awfully noisy!


Re: 0.9 util puzzle

2009-07-13 Thread Bojan Smojver
On Mon, 2009-07-13 at 20:26 -0500, William A. Rowe, Jr. wrote:
 Why are all my APR_BRIGADE_INSERT_HEAD(b, eos); and similar statements
 now causing;
 
 ftp_request.c:76: warning: dereferencing type-punned pointer will
 break
 strict-aliasing rules
 ftp_request.c:76: warning: dereferencing type-punned pointer will
 break
 strict-aliasing rules
 ftp_request.c:76: warning: dereferencing type-punned pointer will
 break
 strict-aliasing rules
 
 That's awfully noisy!

I don't think we ever addressed that in apr_ring.h of APR 0.9. Part of
the diff between 1.3 and 0.0 below:
---
--- include/apr_ring.h  2008-06-03 10:05:55.0 +1000
+++ ../../0.9.x/apr/include/apr_ring.h  2007-09-01 18:27:11.0 +1000
@@ -69,8 +69,8 @@
  */
 #define APR_RING_ENTRY(elem)   \
 struct {   \
-   struct elem * volatile next;\
-   struct elem * volatile prev;\
+   struct elem *next;  \
+   struct elem *prev;  \
 }
 
 /**
@@ -90,8 +90,8 @@
  */
 #define APR_RING_HEAD(head, elem)  \
 struct head {  \
-   struct elem *next;  \
-   struct elem *prev;  \
+   struct elem * volatile next;\
+   struct elem * volatile prev;\
 }
 
 /**
@@ -157,7 +157,7 @@
  * @param link The name of the APR_RING_ENTRY in the element struct
  */
 #define APR_RING_SENTINEL(hp, elem, link)  \
-(struct elem *)((char *)((hp)-next) - APR_OFFSETOF(struct elem, link))
+(struct elem *)((char *)(hp) - APR_OFFSETOF(struct elem, link))
 
 /**
  * The first element of the ring
---

-- 
Bojan



Re: 0.9 util puzzle

2009-07-13 Thread William A. Rowe, Jr.
Bojan Smojver wrote:
 On Mon, 2009-07-13 at 20:26 -0500, William A. Rowe, Jr. wrote:
 Why are all my APR_BRIGADE_INSERT_HEAD(b, eos); and similar statements
 
 I don't think we ever addressed that in apr_ring.h of APR 0.9. Part of
 the diff between 1.3 and 0.0 below:

No improvement :(  And still have;

../../apr-0.9/strings/apr_snprintf.c: In function ‘conv_os_thread_t’:
../../apr-0.9/strings/apr_snprintf.c:511: warning: dereferencing type-punned
pointer will break strict-aliasing rules

while building apr-0.9 itself.


Re: 0.9 util puzzle

2009-07-13 Thread Bojan Smojver
On Mon, 2009-07-13 at 20:50 -0500, William A. Rowe, Jr. wrote:
 ../../apr-0.9/strings/apr_snprintf.c: In function ‘conv_os_thread_t’:
 ../../apr-0.9/strings/apr_snprintf.c:511: warning: dereferencing
 type-punned
 pointer will break strict-aliasing rules

Must be a different issue then.

-- 
Bojan



Re: 0.9 util puzzle

2009-07-13 Thread Bojan Smojver
On Mon, 2009-07-13 at 20:50 -0500, William A. Rowe, Jr. wrote:
 No improvement :(  And still have;

So, just to be clear, when you apply r662299 to 0.9.x, no warnings go
away, right?

-- 
Bojan



Re: 0.9 util puzzle

2009-07-13 Thread William A. Rowe, Jr.
Bojan Smojver wrote:
 On Mon, 2009-07-13 at 20:50 -0500, William A. Rowe, Jr. wrote:
 No improvement :(  And still have;
 
 So, just to be clear, when you apply r662299 to 0.9.x, no warnings go
 away, right?

I have only one warning in building apr, the one I just quote r.e. strings.

But when building mod_ftp upon httpd 2.0 upon apr 0.9 patched, yes, those
warnings remain.  Is this due to comparing the object pointers of the
defined bucket types as they are position independent, and therefore those
values change?

I actually detest the interface, it should be changed to have no reliance
on an arbitrary pointer unless that pointer is reported by the result of
a resolved function call into the library.

FYI only the 1st and 3rd bits of the patch you quoted were necessary, the
second bit was already set volatile.