[minicoredumper] [External] Infinite loop while executing read_remote
Jos Hulzink (Ellips B.V.)
jos.hulzink at ellips.com
Wed Aug 4 09:19:40 CEST 2021
> -----Original Message-----
> From: John Ogness <john.ogness at linutronix.de>
> Sent: dinsdag 3 augustus 2021 17:41
> To: Jos Hulzink (Ellips B.V.) <jos.hulzink at ellips.com>;
>
> Can you post the contents of /etc/minicoredumper/generic.recept.json? A
> problem was recently reported [0] that has been verified. It is a
> problem when files are specified in the "maps":"dump_by_name" section.
/etc/minicoredumper/generic.recept.json:
//////
{
"stacks": {
"dump_stacks": true,
"first_thread_only": true,
"max_stack_size": 0
},
"maps": {
"dump_by_name": [
"[vdso]"
]
},
"compression": {
"compressor": "gzip",
"extension": "gz",
"in_tar": true
},
"dump_auxv_so_list": true,
"dump_pthread_list": true,
"dump_robust_mutex_list": true,
"dump_scope": 1024,
"live_dumper": false,
"write_proc_info": false,
"write_debug_log": false,
"dump_fat_core": false
}
/////
It is a copy of a minicoredumper example with hardly any modification. We need the first_tread_only because our application can easily spawn 50+ threads with up to 1 MB stack each, and we don't dump other memory segments because our application can easily consume 60+ GB of memory. Since our crash dumps have to be transmitted from rural areas all around the world back to the Netherlands we like them small :)
> If this is reproducible, it would also be helpful to turn on:
>
> "write_proc_info": true,
>
> Then we can at least see from which mapping it is trying to dump.
Thanks, I will enable the feature and come back to you when I get more info.
> The errno="Success" is irrelevant in this case. Failed reads are
> allowed. The question is: Why is it trying to read addresses that are
> not mapped to anything?
Good question. Although I don't think it works that way, can it be that if we try to access an invalid address (e.g. we try to read from an uninitialized pointer, or cause a stack overflow way outside the stack guard) that it accidently tries to read from unmapped memory for some reason ? Don't know whether it matters, but the application uses mlockall, swap is disabled, so all pages are present in main memory.
>
> But I will also take a look at the code here and figure out what could
> be happening.
Thank you for your swift reply,
Jos Hulzink
More information about the minicoredumper
mailing list