You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Luca Toscano <to...@gmail.com> on 2017/10/09 13:34:29 UTC

Re: svn commit: r1811192 - /httpd/httpd/trunk/.gdbinit

Hi Ruediger,

2017-10-05 14:01 GMT+02:00 <rp...@apache.org>:

> Author: rpluem
> Date: Thu Oct  5 12:01:25 2017
> New Revision: 1811192
>
> URL: http://svn.apache.org/viewvc?rev=1811192&view=rev
> Log:
> * Add dump_all_pools and dump_pool_and_childs.
>
>   - dump_all_pools: Dump the whole pool hierarchy starting from
> apr_global_pool.
>                     Requires an arbitrary pool as starting parameter.
>   - dump_pool_and_childs: Dump the whole pool hierarchy starting from
>                           the given pool.
>
>   dump_pool_and_childs is written in Python using the GDB Python API
>   as doing recursive stuff in standard GDB macros is very difficult.
>
> Modified:
>     httpd/httpd/trunk/.gdbinit
>
> Modified: httpd/httpd/trunk/.gdbinit
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/.gdbinit?rev=
> 1811192&r1=1811191&r2=1811192&view=diff
> ============================================================
> ==================
> --- httpd/httpd/trunk/.gdbinit (original)
> +++ httpd/httpd/trunk/.gdbinit Thu Oct  5 12:01:25 2017
> @@ -413,6 +413,98 @@ define dump_one_pool
>      printf "' [%p]: %d/%d free (%d blocks)\n", $p, $free, $size, $nodes
>  end
>
> +define dump_all_pools
>
[..]

> +    print "Pool '%s' [%s]: %d/%d free (%d blocks) allocator: %s free
> blocks in allocator: %i kiB" % (tag, arg, free, size, nodes,
> darg['allocator'], self._allocator_free_blocks(darg['allocator']))
>

Not sure if I am the only one that has gdb linked with python3.x but this
is what I get now:

  File "<string>", line 47
    print "Pool '%s' [%s]: %d/%d free (%d blocks) allocator: %s free blocks
in allocator: %i kiB" % (tag, arg, free, size, nodes, darg['allocator'],
self._allocator_free_blocks(darg['allocator']))
SyntaxError: invalid syntax

Would it be worth to use something like "from future import
__print_function__" and add () to all the prints?

Thanks!

Luca

Re: svn commit: r1811192 - /httpd/httpd/trunk/.gdbinit

Posted by Luca Toscano <to...@gmail.com>.
It does, thank you!

Luca

2017-10-09 15:50 GMT+02:00 Plüm, Rüdiger, Vodafone Group <
ruediger.pluem@vodafone.com>:

> Does r1811570 fix your issue?
>
>
>
> Regards
>
>
>
> Rüdiger
>
>
>
> *Von:* Luca Toscano [mailto:toscano.luca@gmail.com]
> *Gesendet:* Montag, 9. Oktober 2017 15:34
> *An:* Apache HTTP Server Development List <de...@httpd.apache.org>
> *Betreff:* Re: svn commit: r1811192 - /httpd/httpd/trunk/.gdbinit
>
>
>
> Hi Ruediger,
>
>
>
> 2017-10-05 14:01 GMT+02:00 <rp...@apache.org>:
>
> Author: rpluem
> Date: Thu Oct  5 12:01:25 2017
> New Revision: 1811192
>
> URL: http://svn.apache.org/viewvc?rev=1811192&view=rev
> Log:
> * Add dump_all_pools and dump_pool_and_childs.
>
>   - dump_all_pools: Dump the whole pool hierarchy starting from
> apr_global_pool.
>                     Requires an arbitrary pool as starting parameter.
>   - dump_pool_and_childs: Dump the whole pool hierarchy starting from
>                           the given pool.
>
>   dump_pool_and_childs is written in Python using the GDB Python API
>   as doing recursive stuff in standard GDB macros is very difficult.
>
> Modified:
>     httpd/httpd/trunk/.gdbinit
>
> Modified: httpd/httpd/trunk/.gdbinit
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/.gdbinit?
> rev=1811192&r1=1811191&r2=1811192&view=diff
> ============================================================
> ==================
> --- httpd/httpd/trunk/.gdbinit (original)
> +++ httpd/httpd/trunk/.gdbinit Thu Oct  5 12:01:25 2017
> @@ -413,6 +413,98 @@ define dump_one_pool
>      printf "' [%p]: %d/%d free (%d blocks)\n", $p, $free, $size, $nodes
>  end
>
> +define dump_all_pools
>
> [..]
>
> +    print "Pool '%s' [%s]: %d/%d free (%d blocks) allocator: %s free
> blocks in allocator: %i kiB" % (tag, arg, free, size, nodes,
> darg['allocator'], self._allocator_free_blocks(darg['allocator']))
>
>
>
> Not sure if I am the only one that has gdb linked with python3.x but this
> is what I get now:
>
>
>
>   File "<string>", line 47
>
>     print "Pool '%s' [%s]: %d/%d free (%d blocks) allocator: %s free
> blocks in allocator: %i kiB" % (tag, arg, free, size, nodes,
> darg['allocator'], self._allocator_free_blocks(darg['allocator']))
>
> SyntaxError: invalid syntax
>
>
>
> Would it be worth to use something like "from future import
> __print_function__" and add () to all the prints?
>
>
>
> Thanks!
>
>
>
> Luca
>
>
>

AW: svn commit: r1811192 - /httpd/httpd/trunk/.gdbinit

Posted by Plüm, Rüdiger, Vodafone Group <ru...@vodafone.com>.
Does r1811570 fix your issue?

Regards

Rüdiger

Von: Luca Toscano [mailto:toscano.luca@gmail.com]
Gesendet: Montag, 9. Oktober 2017 15:34
An: Apache HTTP Server Development List <de...@httpd.apache.org>
Betreff: Re: svn commit: r1811192 - /httpd/httpd/trunk/.gdbinit

Hi Ruediger,

2017-10-05 14:01 GMT+02:00 <rp...@apache.org>>:
Author: rpluem
Date: Thu Oct  5 12:01:25 2017
New Revision: 1811192

URL: http://svn.apache.org/viewvc?rev=1811192&view=rev
Log:
* Add dump_all_pools and dump_pool_and_childs.

  - dump_all_pools: Dump the whole pool hierarchy starting from apr_global_pool.
                    Requires an arbitrary pool as starting parameter.
  - dump_pool_and_childs: Dump the whole pool hierarchy starting from
                          the given pool.

  dump_pool_and_childs is written in Python using the GDB Python API
  as doing recursive stuff in standard GDB macros is very difficult.

Modified:
    httpd/httpd/trunk/.gdbinit

Modified: httpd/httpd/trunk/.gdbinit
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/.gdbinit?rev=1811192&r1=1811191&r2=1811192&view=diff
==============================================================================
--- httpd/httpd/trunk/.gdbinit (original)
+++ httpd/httpd/trunk/.gdbinit Thu Oct  5 12:01:25 2017
@@ -413,6 +413,98 @@ define dump_one_pool
     printf "' [%p]: %d/%d free (%d blocks)\n", $p, $free, $size, $nodes
 end

+define dump_all_pools
[..]
+    print "Pool '%s' [%s]: %d/%d free (%d blocks) allocator: %s free blocks in allocator: %i kiB" % (tag, arg, free, size, nodes, darg['allocator'], self._allocator_free_blocks(darg['allocator']))

Not sure if I am the only one that has gdb linked with python3.x but this is what I get now:

  File "<string>", line 47
    print "Pool '%s' [%s]: %d/%d free (%d blocks) allocator: %s free blocks in allocator: %i kiB" % (tag, arg, free, size, nodes, darg['allocator'], self._allocator_free_blocks(darg['allocator']))
SyntaxError: invalid syntax

Would it be worth to use something like "from future import __print_function__" and add () to all the prints?

Thanks!

Luca