assert creates unusable core dump on current stable Cygwin release

Jon Turney jon.turney@dronecode.org.uk
Thu Oct 10 19:19:00 GMT 2019


On 09/10/2019 22:28, Brian Inglis wrote:
> On 2019-10-09 11:10, Jon Turney wrote:
>> On 09/10/2019 16:31, Brian Inglis wrote:
>>> On 2019-10-09 01:14, Biswapriyo Nath wrote:
>>>> * mintty version: mintty 3.0.6 (x86_64-pc-cygwin) * cygwin version:
>>>> 3.1.0-0.6 * code:
>>>>
>>>> #include <assert.h>
>>>>
>>>> int main() { int x = 1; assert(x == 0); }
>>>>
>>>> * Expected result: The terminal should show this message which appers in
>>>> latest stable cygwin version. assertion "x == 0" failed: file "test.c",
>>>> line 6, function: main
>>>>
>>>> * Actual result: terminal only shows "Aborted (core dumped)".
>>>
>>> I also get the core dump, which is un-gdb-able below, as is it's core dump,
>>> on *current stable* Cygwin 64 releases *AND* see the message!
>>
>> As far as I'm aware, the core-dump tool 'dumper' has never been fixed for
>> x86_64, so I wouldn't expect this to work. See [1].
>>
>> [1] https://cygwin.com/ml/cygwin/2016-03/msg00464.html
> 
> Given that it's used elsewhere, is there more to it than just:

Not sure what you are referring to by 'it', don't know where you mean by 
'elsewhere'.

> int
> dumper::init_core_dump ()
> {
>    bfd_init ();
> 
> - core_bfd = bfd_openw (file_name, "elf32-i386");
> + core_bfd = bfd_openw (file_name, "elf64-x86");

idk, have you tried it?

If I recall correctly, there's some code in gdb to handle these strange 
"'core dump'" files, which might well also need some attention for the 
x86_64 case.

(and I guess this patch is not acceptable as-is, as it looks like it 
would break x86)

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list