This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Large memory usage by gdb
- From: Philippe Waroquiers <philippe dot waroquiers at skynet dot be>
- To: Yao Qi <qiyaoltc at gmail dot com>
- Cc: Alex Lindsay <alexlindsay239 at gmail dot com>, gdb at sourceware dot org
- Date: Mon, 07 Aug 2017 21:53:23 +0200
- Subject: Re: Large memory usage by gdb
- Authentication-results: sourceware.org; auth=none
- Ironport-phdr: 9a23:/V3VNhfxZVjpI5t9XizSmCGKlGMj4u6mDksu8pMizoh2WeGdxcS/Zh7h7PlgxGXEQZ/co6odzbGH4+a4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9GiTe5Yr5+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v9LlgRgP2hygbNj456GDXhdJ2jKJHuxKquhhzz5fJbI2JKPZye6XQds4YS2VcRMZcTy9PDJ68YYURAeQOP+hYoJX6qVQBohWzHhWsCeH1xzNUnHL6wa833uI8Gg/GxgwgGNcOvWzOotX1NacSVeG1zLHQzTrdcvhZ2S3y6JLPchA4vPGMXKx/cdDKyUIyEA7FllWQqY3hPzOUzuQNq3aU4/BuVO21kW4nrBhxoiWuxsgykInJnZkYykvH9SR5xoY6O8G4RFRgbtG6CZZdsTyROYhuQs46QGxkpTw2xqMJtJO5ZiQG1Zoqyh3FZ/GJc4WF5A/oWvyLLjdinn1lfaqyhxO18Ue91OLxTtK00FNWripdldnMq2wN2wTT6seZTvt9+V+s2TOS2AzL6+FEJ147lbbDJpMi37I8jIQfvEvBEyPshUn7gqybel8q9+Wo8+jnZ6/ppp6YN496kAH+NaEul9SnAeQ4MwgOW2mb+fyk1LL950H4Tq9FjucxkqnArZDaJNoUprSiAwJOyYYj6Ba+DzG439QEh3UIN0xKdAqdj4f1I1HOPOz4DfCnjlS1kTdqx+rJPrrlApXRMnfOi7jhfbNn5E5dzAo/18xQ55VRCrsZOvL8RlfxtMDEDh8+KwG72eLnB8ty14MaWGKPBLKWMLjIvl6I+O4iLe2BaZQauDb4Mfcl5vrugWUlll8aeKn6lacQPUGxGbxfIg3NeHv9i9AFDWwisQ83Teisg1qHB219fXG3Cpo85zU6EJqrRbjKXIe0nb2MxjzzSoVWZ2RHEkiBV2jhbYKdRvYBcjm6OcxwlDEYE7KsHdxynSqyvRP3nuI0ZtHf/TcV4Ne6jIB4
- References: <420b109c-1610-d687-ae9a-b172542fafca@gmail.com> <6f204cea-21bf-3f70-aa61-df02aeba8a24@gmail.com> <86mv7b20z2.fsf@gmail.com>
On Mon, 2017-08-07 at 10:14 +0100, Yao Qi wrote:
> leaks are bugs, and we should fix them. I can find these leaks in
> valgrind too,
When running valgrind + gdb on a small program, I also get
many errors like the below (GDB 8.0, Debian 8).
Do you also see that ?
Philippe
==9360== Invalid read of size 4
==9360== at 0x58AD9F3: PyObject_Free (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x4C5E7F: gdb_Py_DECREF (python-internal.h:194)
==9360== by 0x4C5E7F: decref (py-ref.h:36)
==9360== by 0x4C5E7F: ~ref_ptr (gdb_ref_ptr.h:91)
==9360== by 0x4C5E7F: unicode_to_encoded_string(_object*, char const*) (py-utils.c:74)
==9360== by 0x4C5F9C: python_string_to_host_string(_object*) (py-utils.c:158)
==9360== by 0x4BBDDD: get_doc_string(_object*, _object*) (py-param.c:314)
==9360== by 0x4BC11D: parmpy_init(_object*, _object*, _object*) (py-param.c:707)
==9360== by 0x580AD5B: ??? (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5899BE2: PyObject_Call (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x58CD441: PyEval_EvalFrameEx (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x594218F: PyEval_EvalCodeEx (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x589132B: ??? (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5899BE2: PyObject_Call (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x58DC0E4: ??? (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== Address 0x6f0c020 is 1,280 bytes inside a block of size 3,133 free'd
==9360== at 0x4C29B8A: realloc (vg_replace_malloc.c:785)
==9360== by 0x5862625: _PyString_Resize (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x57E40AC: PyUnicodeUCS4_EncodeUTF8 (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5848A98: ??? (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5899BE2: PyObject_Call (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x59416E6: PyEval_CallObjectWithKeywords (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5906C4D: PyCodec_Encode (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x57E4AB4: PyUnicodeUCS4_AsEncodedString (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x4C5E44: unicode_to_encoded_string(_object*, char const*) (py-utils.c:74)
==9360== by 0x4C5F9C: python_string_to_host_string(_object*) (py-utils.c:158)
==9360== by 0x4BBDDD: get_doc_string(_object*, _object*) (py-param.c:314)
==9360== by 0x4BC11D: parmpy_init(_object*, _object*, _object*) (py-param.c:707)
==9360== Block was alloc'd at
==9360== at 0x4C27BF5: malloc (vg_replace_malloc.c:299)
==9360== by 0x5864249: PyString_FromStringAndSize (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x57E41C6: PyUnicodeUCS4_EncodeUTF8 (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5848A98: ??? (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5899BE2: PyObject_Call (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x59416E6: PyEval_CallObjectWithKeywords (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x5906C4D: PyCodec_Encode (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x57E4AB4: PyUnicodeUCS4_AsEncodedString (in /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0)
==9360== by 0x4C5E44: unicode_to_encoded_string(_object*, char const*) (py-utils.c:74)
==9360== by 0x4C5F9C: python_string_to_host_string(_object*) (py-utils.c:158)
==9360== by 0x4BBDDD: get_doc_string(_object*, _object*) (py-param.c:314)
==9360== by 0x4BC11D: parmpy_init(_object*, _object*, _object*) (py-param.c:707)