Bug report for APR [2009/07/12]
+---+ | 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()
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
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
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
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
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
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
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
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
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
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
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
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.