mailing list of musl libc
 help / color / mirror / Atom feed
* [musl] Dumping process heap from the core file
@ 2021-06-03  2:09 Srinivasan J
  2021-06-05 15:50 ` Rich Felker
  0 siblings, 1 reply; 4+ messages in thread
From: Srinivasan J @ 2021-06-03  2:09 UTC (permalink / raw)
  To: musl

Hi,
    Is there an easy way to dump the heap from the process core which
is using musl-libc? The process is using musl-libc version v1.1.24. I
see that there is a _dump_heap() function, but that's not up to date.
I am thinking about using _dump_heap() as reference. But any other
suggestions are welcome.

Regards,
Srini

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [musl] Dumping process heap from the core file
  2021-06-03  2:09 [musl] Dumping process heap from the core file Srinivasan J
@ 2021-06-05 15:50 ` Rich Felker
  2021-06-23  3:51   ` Srinivasan J
  0 siblings, 1 reply; 4+ messages in thread
From: Rich Felker @ 2021-06-05 15:50 UTC (permalink / raw)
  To: Srinivasan J; +Cc: musl

On Thu, Jun 03, 2021 at 07:39:54AM +0530, Srinivasan J wrote:
> Hi,
>     Is there an easy way to dump the heap from the process core which
> is using musl-libc? The process is using musl-libc version v1.1.24. I
> see that there is a _dump_heap() function, but that's not up to date.
> I am thinking about using _dump_heap() as reference. But any other
> suggestions are welcome.

The mallocng heap structures are actually more walkable. There is
intentionally no public interface for doing this, but I have some
debug code left over from development that you could link into
static-linked programs with a particular known musl/mallocng version
or patch into libc.so for debugging purposes. I'll dig it up and post
it. Ping me if I forget about it.

Rich

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [musl] Dumping process heap from the core file
  2021-06-05 15:50 ` Rich Felker
@ 2021-06-23  3:51   ` Srinivasan J
  2021-06-23 18:32     ` Rich Felker
  0 siblings, 1 reply; 4+ messages in thread
From: Srinivasan J @ 2021-06-23  3:51 UTC (permalink / raw)
  To: Rich Felker; +Cc: musl

Hi Rich,
            Thank you for replying. Unfortunately, I need to debug a
core which used musl-libc version v1.1.24 to get details about size of
allocations in the heap. I see that mal.heap is no longer valid since
2015 [commit e3bc22f1eff87b8f029a6ab31f1a269d69e4b053].  So as you
said the only way to walk the heap would be using a patched libc.so?
Please do share any pointers.

Reference:
https://patchwork.criu.org/patch/10472/

Regards,
Srini

On Sat, Jun 5, 2021 at 9:20 PM Rich Felker <dalias@libc.org> wrote:
>
> On Thu, Jun 03, 2021 at 07:39:54AM +0530, Srinivasan J wrote:
> > Hi,
> >     Is there an easy way to dump the heap from the process core which
> > is using musl-libc? The process is using musl-libc version v1.1.24. I
> > see that there is a _dump_heap() function, but that's not up to date.
> > I am thinking about using _dump_heap() as reference. But any other
> > suggestions are welcome.
>
> The mallocng heap structures are actually more walkable. There is
> intentionally no public interface for doing this, but I have some
> debug code left over from development that you could link into
> static-linked programs with a particular known musl/mallocng version
> or patch into libc.so for debugging purposes. I'll dig it up and post
> it. Ping me if I forget about it.
>
> Rich

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [musl] Dumping process heap from the core file
  2021-06-23  3:51   ` Srinivasan J
@ 2021-06-23 18:32     ` Rich Felker
  0 siblings, 0 replies; 4+ messages in thread
From: Rich Felker @ 2021-06-23 18:32 UTC (permalink / raw)
  To: Srinivasan J; +Cc: musl

On Wed, Jun 23, 2021 at 09:21:49AM +0530, Srinivasan J wrote:
> Hi Rich,
>             Thank you for replying. Unfortunately, I need to debug a
> core which used musl-libc version v1.1.24 to get details about size of
> allocations in the heap. I see that mal.heap is no longer valid since
> 2015 [commit e3bc22f1eff87b8f029a6ab31f1a269d69e4b053].  So as you
> said the only way to walk the heap would be using a patched libc.so?
> Please do share any pointers.

Ah, in that case you could just start walking the headers
backward/forward from any known starting chunk.

Rich



> Reference:
> https://patchwork.criu.org/patch/10472/
> 
> Regards,
> Srini
> 
> On Sat, Jun 5, 2021 at 9:20 PM Rich Felker <dalias@libc.org> wrote:
> >
> > On Thu, Jun 03, 2021 at 07:39:54AM +0530, Srinivasan J wrote:
> > > Hi,
> > >     Is there an easy way to dump the heap from the process core which
> > > is using musl-libc? The process is using musl-libc version v1.1.24. I
> > > see that there is a _dump_heap() function, but that's not up to date.
> > > I am thinking about using _dump_heap() as reference. But any other
> > > suggestions are welcome.
> >
> > The mallocng heap structures are actually more walkable. There is
> > intentionally no public interface for doing this, but I have some
> > debug code left over from development that you could link into
> > static-linked programs with a particular known musl/mallocng version
> > or patch into libc.so for debugging purposes. I'll dig it up and post
> > it. Ping me if I forget about it.
> >
> > Rich

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-06-23 18:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03  2:09 [musl] Dumping process heap from the core file Srinivasan J
2021-06-05 15:50 ` Rich Felker
2021-06-23  3:51   ` Srinivasan J
2021-06-23 18:32     ` Rich Felker

mailing list of musl libc

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/musl

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 musl musl/ http://inbox.vuxu.org/musl \
		musl@inbox.vuxu.org
	public-inbox-index musl

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.musl


code repositories for the project(s) associated with this inbox:

	https://git.vuxu.org/mirror/musl/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git