You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Jeff Trawick <tr...@gmail.com> on 2013/04/26 21:18:13 UTC

1.4.next next weekend or so?

I can RM...

-- 
Born in Roswell... married an alien...
http://emptyhammock.com/

Re: 1.4.next next weekend or so?

Posted by Jeff Trawick <tr...@gmail.com>.
On Fri, May 3, 2013 at 4:08 PM, Stefan Fritsch <sf...@sfritsch.de> wrote:

> On Sunday 28 April 2013, Rainer Jung wrote:
> > On 26.04.2013 21:18, Jeff Trawick wrote:
> > Some warnings during "make check" but probably not new:
> >
> > test/testlockperf.c:229:17: warning: variable 'lockname' set but
> > not used test/testmmap.c:122:18: warning: variable 'rv' set but
> > not used test/testfile.c:739:18: warning: variable 'rv' set but
> > not used test/testfile.c:925:18: warning: variable 'rv' set but
> > not used test/testnames.c:272:9: warning: variable 'hadfailed' set
> > but not used test/echod.c:116:18: warning: variable 'rv' set but
> > not used test/sockperf.c:206:18: warning: variable 'rv' set but
> > not used
>
> Backported
>
> > Looking through all open issues of 2012 and 2013 I find some which
> > might be not to much work:
> >
> > Bug 54892 - Free without malloc (apr_pool_create_unmanaged_ex)
>
> Trunk only, fixed.
>
> >
> > Bug 54779 - apr_sockaddr_info_get() can return APR_SUCCESS when it
> > fails leading to apache 2.4.4 segv
>
> Fixed & backported.
>
> > Bug 54093 - Adding support for 'll' (long long) to snprintf
>
> New feature, should wait for 1.5 IMHO
>
> > Bug 54032 - Default prefix incorrect in configure script
> >
> >
> > Possible trunk backports:
> >
> > Bug 53609 - Apache hangs with terminated signal 6
>
> Was already backported.
>
> >
> > Bug 52785 - testall fails if pool debug is enabled
>
> Needs new API, must wait for 1.5. But API may change again to allow
> mpm-event to work with pool debugging, therefore waiting with backport
> to 1.5.
>
> > Cross compilation stuff:
> >
> > Bug 53425 - Make more cross compiler friendly at configure time
> > Bug 53426 - apr_hints: Fixed underquoted definitions
> > Bug 53427 - apr_network: Fixed underquoted definitions added a
> > default to TRY_RUN for cross-compiling
> > Bug 53428 - apr_threads: Fixed underquoted definitions added a
> > default to TRY_RUN for cross-compiling
> >
> > Other bugs that need more analysis or work on a patch:
> >
> > Bug 53996 - shmget fails on duplicate ftok
> > Bug 53906 - make check failures testsockets testime test_exp_get_lt
> > apr_mcast_hops
> > Bug 54643 - Application exception from Apache 2.4.3 (with APR
> > 1.4.6)
> >
> > Regards,
> >
> > Rainer
>
>

The recent barrage of fixes is awesome.  I'm planning to tag and roll 1.4.7
this afternoon.

Re: 1.4.next next weekend or so?

Posted by Stefan Fritsch <sf...@sfritsch.de>.
On Sunday 28 April 2013, Rainer Jung wrote:
> On 26.04.2013 21:18, Jeff Trawick wrote:
> Some warnings during "make check" but probably not new:
> 
> test/testlockperf.c:229:17: warning: variable 'lockname' set but
> not used test/testmmap.c:122:18: warning: variable 'rv' set but
> not used test/testfile.c:739:18: warning: variable 'rv' set but
> not used test/testfile.c:925:18: warning: variable 'rv' set but
> not used test/testnames.c:272:9: warning: variable 'hadfailed' set
> but not used test/echod.c:116:18: warning: variable 'rv' set but
> not used test/sockperf.c:206:18: warning: variable 'rv' set but
> not used

Backported

> Looking through all open issues of 2012 and 2013 I find some which
> might be not to much work:
> 
> Bug 54892 - Free without malloc (apr_pool_create_unmanaged_ex)

Trunk only, fixed.

> 
> Bug 54779 - apr_sockaddr_info_get() can return APR_SUCCESS when it
> fails leading to apache 2.4.4 segv

Fixed & backported.

> Bug 54093 - Adding support for 'll' (long long) to snprintf

New feature, should wait for 1.5 IMHO

> Bug 54032 - Default prefix incorrect in configure script
> 
> 
> Possible trunk backports:
> 
> Bug 53609 - Apache hangs with terminated signal 6

Was already backported.

> 
> Bug 52785 - testall fails if pool debug is enabled

Needs new API, must wait for 1.5. But API may change again to allow 
mpm-event to work with pool debugging, therefore waiting with backport 
to 1.5.

> Cross compilation stuff:
> 
> Bug 53425 - Make more cross compiler friendly at configure time
> Bug 53426 - apr_hints: Fixed underquoted definitions
> Bug 53427 - apr_network: Fixed underquoted definitions added a
> default to TRY_RUN for cross-compiling
> Bug 53428 - apr_threads: Fixed underquoted definitions added a
> default to TRY_RUN for cross-compiling
> 
> Other bugs that need more analysis or work on a patch:
> 
> Bug 53996 - shmget fails on duplicate ftok
> Bug 53906 - make check failures testsockets testime test_exp_get_lt
> apr_mcast_hops
> Bug 54643 - Application exception from Apache 2.4.3 (with APR
> 1.4.6)
> 
> Regards,
> 
> Rainer


Re: 1.4.next next weekend or so?

Posted by Rainer Jung <ra...@kippdata.de>.
On 26.04.2013 21:18, Jeff Trawick wrote:
> I can RM...

Thanks. I did a quick build and make check on Solaris and some Linuxes
and things look good.

Some warnings during "make check" but probably not new:

test/testlockperf.c:229:17: warning: variable 'lockname' set but not used
test/testmmap.c:122:18: warning: variable 'rv' set but not used
test/testfile.c:739:18: warning: variable 'rv' set but not used
test/testfile.c:925:18: warning: variable 'rv' set but not used
test/testnames.c:272:9: warning: variable 'hadfailed' set but not used
test/echod.c:116:18: warning: variable 'rv' set but not used
test/sockperf.c:206:18: warning: variable 'rv' set but not used

Looking through all open issues of 2012 and 2013 I find some which might
be not to much work:

Bug 54892 - Free without malloc (apr_pool_create_unmanaged_ex)

Bug 54779 - apr_sockaddr_info_get() can return APR_SUCCESS when it fails
leading to apache 2.4.4 segv

Bug 54093 - Adding support for 'll' (long long) to snprintf

Bug 54032 - Default prefix incorrect in configure script


Possible trunk backports:

Bug 53609 - Apache hangs with terminated signal 6

Bug 52785 - testall fails if pool debug is enabled


Cross compilation stuff:

Bug 53425 - Make more cross compiler friendly at configure time
Bug 53426 - apr_hints: Fixed underquoted definitions
Bug 53427 - apr_network: Fixed underquoted definitions added a default
to TRY_RUN for cross-compiling
Bug 53428 - apr_threads: Fixed underquoted definitions added a default
to TRY_RUN for cross-compiling

Other bugs that need more analysis or work on a patch:

Bug 53996 - shmget fails on duplicate ftok
Bug 53906 - make check failures testsockets testime test_exp_get_lt
apr_mcast_hops
Bug 54643 - Application exception from Apache 2.4.3 (with APR 1.4.6)

Regards,

Rainer


Re: 1.4.next next weekend or so?

Posted by Rainer Jung <ra...@kippdata.de>.
On 27.04.2013 05:11, Guenter Knauf wrote:
> On 26.04.2013 21:18, Jeff Trawick wrote:
>> I can RM...
> coool!
> 
> I was recently on hunting an old NetWare-only with apr_pool_parent_get()
> bug with Rainer, and he finally suggested a patch like this:

First: I think Jeff wants to release APR (thus 1.4), all of the below
changes are for APR-UTIL.

Some background AFAIR: On Netware the global pool is shared between
NLMs, thus the pool below the global pool should in most cases be used
instead. Also on Netware the apr_pool_parent_get() function for the
global pool returns the pool itself. We were not able to find out
whether that is actually intended or not, but use it to find the pool
below the global pool.

The loop should behave identical except when

- pool is null, which should be a problem in all of the below situations
even without the change

- apr_pool_parent_get(pool) returns pool itself. The old loop then loops
forever whereas the new one stops as needed by Netware

- It's a bit slower due to one additional pointer comparison. That
should be no problem especially since all the places are init functions
which are not called frequently.

Regards,

Rainer

> Index: dbd/apr_dbd.c
> ===================================================================
> --- dbd/apr_dbd.c    (revision 1463267)
> +++ dbd/apr_dbd.c    (working copy)
> @@ -102,8 +102,10 @@
>      }
> 
>      /* Top level pool scope, need process-scope lifetime */
> -    for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
> -         pool = parent;
> +    for (parent = apr_pool_parent_get(pool);
> +        parent && parent != pool;
> +        parent = apr_pool_parent_get(pool))
> +       pool = parent;
>  #if APU_DSO_BUILD
>      /* deprecate in 2.0 - permit implicit initialization */
>      apu_dso_init(pool);
> Index: dbm/apr_dbm.c
> 
> I verified that this fixes the NetWare crash while we believe that this
> shouldnt make a difference for all other platforms ...
> the same loop construct appears in 3 more files, where in apu_dso.c it
> looks slightly different ...
> 
> I really would like to get these patches in before release since without
> I cant load mod_lua anymore due its dep to apr_dbd ...
> 
> if nobody objects I would like to commit the below:
> 
> Index: crypto/apr_crypto.c
> ===================================================================
> --- crypto/apr_crypto.c    (revision 1463267)
> +++ crypto/apr_crypto.c    (working copy)
> @@ -100,7 +100,9 @@
>      }
> 
>      /* Top level pool scope, need process-scope lifetime */
> -    for (parent = pool; parent; parent = apr_pool_parent_get(pool))
> +    for (parent = apr_pool_parent_get(pool);
> +         parent && parent != pool;
> +         parent = apr_pool_parent_get(pool))
>          pool = parent;
>  #if APU_DSO_BUILD
>      /* deprecate in 2.0 - permit implicit initialization */
> Index: dbd/apr_dbd.c
> ===================================================================
> --- dbd/apr_dbd.c    (revision 1463267)
> +++ dbd/apr_dbd.c    (working copy)
> @@ -102,8 +102,10 @@
>      }
> 
>      /* Top level pool scope, need process-scope lifetime */
> -    for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
> -         pool = parent;
> +    for (parent = apr_pool_parent_get(pool);
> +        parent && parent != pool;
> +        parent = apr_pool_parent_get(pool))
> +       pool = parent;
>  #if APU_DSO_BUILD
>      /* deprecate in 2.0 - permit implicit initialization */
>      apu_dso_init(pool);
> Index: dbm/apr_dbm.c
> ===================================================================
> --- dbm/apr_dbm.c    (revision 1463267)
> +++ dbm/apr_dbm.c    (working copy)
> @@ -129,8 +129,10 @@
>          apr_pool_t *parent;
> 
>          /* Top level pool scope, need process-scope lifetime */
> -        for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
> -             pool = parent;
> +        for (parent = apr_pool_parent_get(pool);
> +             parent && parent != pool;
> +             parent = apr_pool_parent_get(pool))
> +            pool = parent;
> 
>          /* deprecate in 2.0 - permit implicit initialization */
>          apu_dso_init(pool);
> 
> for the last one in apu_dso.c I need to do some further testing 1st ...
> 
> Gün.
> 
> 
> 
> 
> 
> 
> 

-- 
kippdata
informationstechnologie GmbH   Tel: 0228 98549 -0
Bornheimer Str. 33a            Fax: 0228 98549 -50
53111 Bonn                     www.kippdata.de

HRB 8018 Amtsgericht Bonn / USt.-IdNr. DE 196 457 417
Geschäftsführer: Dr. Thomas Höfer, Rainer Jung, Sven Maurmann

Re: 1.4.next next weekend or so?

Posted by Guenter Knauf <fu...@apache.org>.
On 26.04.2013 21:18, Jeff Trawick wrote:
> I can RM...
coool!

I was recently on hunting an old NetWare-only with apr_pool_parent_get() 
bug with Rainer, and he finally suggested a patch like this:

Index: dbd/apr_dbd.c
===================================================================
--- dbd/apr_dbd.c	(revision 1463267)
+++ dbd/apr_dbd.c	(working copy)
@@ -102,8 +102,10 @@
      }

      /* Top level pool scope, need process-scope lifetime */
-    for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
-         pool = parent;
+    for (parent = apr_pool_parent_get(pool);
+        parent && parent != pool;
+        parent = apr_pool_parent_get(pool))
+       pool = parent;
  #if APU_DSO_BUILD
      /* deprecate in 2.0 - permit implicit initialization */
      apu_dso_init(pool);
Index: dbm/apr_dbm.c

I verified that this fixes the NetWare crash while we believe that this 
shouldnt make a difference for all other platforms ...
the same loop construct appears in 3 more files, where in apu_dso.c it 
looks slightly different ...

I really would like to get these patches in before release since without 
I cant load mod_lua anymore due its dep to apr_dbd ...

if nobody objects I would like to commit the below:

Index: crypto/apr_crypto.c
===================================================================
--- crypto/apr_crypto.c	(revision 1463267)
+++ crypto/apr_crypto.c	(working copy)
@@ -100,7 +100,9 @@
      }

      /* Top level pool scope, need process-scope lifetime */
-    for (parent = pool; parent; parent = apr_pool_parent_get(pool))
+    for (parent = apr_pool_parent_get(pool);
+         parent && parent != pool;
+         parent = apr_pool_parent_get(pool))
          pool = parent;
  #if APU_DSO_BUILD
      /* deprecate in 2.0 - permit implicit initialization */
Index: dbd/apr_dbd.c
===================================================================
--- dbd/apr_dbd.c	(revision 1463267)
+++ dbd/apr_dbd.c	(working copy)
@@ -102,8 +102,10 @@
      }

      /* Top level pool scope, need process-scope lifetime */
-    for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
-         pool = parent;
+    for (parent = apr_pool_parent_get(pool);
+        parent && parent != pool;
+        parent = apr_pool_parent_get(pool))
+       pool = parent;
  #if APU_DSO_BUILD
      /* deprecate in 2.0 - permit implicit initialization */
      apu_dso_init(pool);
Index: dbm/apr_dbm.c
===================================================================
--- dbm/apr_dbm.c	(revision 1463267)
+++ dbm/apr_dbm.c	(working copy)
@@ -129,8 +129,10 @@
          apr_pool_t *parent;

          /* Top level pool scope, need process-scope lifetime */
-        for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
-             pool = parent;
+        for (parent = apr_pool_parent_get(pool);
+             parent && parent != pool;
+             parent = apr_pool_parent_get(pool))
+            pool = parent;

          /* deprecate in 2.0 - permit implicit initialization */
          apu_dso_init(pool);

for the last one in apu_dso.c I need to do some further testing 1st ...

Gün.