[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35204: 27.0.50; Crash on Cygwin
From: |
Alex Gramiak |
Subject: |
bug#35204: 27.0.50; Crash on Cygwin |
Date: |
Sat, 13 Apr 2019 16:50:38 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
"Basil L. Contovounesios" <contovob@tcd.ie> writes:
> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Ken Brown <kbrown@cornell.edu>
>>> CC: "35204@debbugs.gnu.org" <35204@debbugs.gnu.org>
>>> Date: Fri, 12 Apr 2019 14:54:21 +0000
>>>
>>> I can replicate the crash on my system, but reverting only a tiny part of
>>> the
>>> commits in question seems to fix it, in the sense that I can successfully
>>> evaluate x-display-monitor-attributes-list:
>>>
>>> diff --git a/src/xfns.c b/src/xfns.c
>>> index 13f66f0718..3e4d037716 100644
>>> --- a/src/xfns.c
>>> +++ b/src/xfns.c
>>> @@ -5030,7 +5030,7 @@ Internal use only, use
>>> `display-monitor-attributes-list'
>>> instead. */)
>>> mi->mm_height = height_mm;
>>>
>>> #if GTK_CHECK_VERSION (3, 22, 0)
>>> - mi->name = xstrdup (gdk_monitor_get_model (monitor));
>>> + mi->name = g_strdup (gdk_monitor_get_model (monitor));
>>> #elif GTK_CHECK_VERSION (2, 14, 0)
>>> mi->name = gdk_screen_get_monitor_plug_name (gscreen, i);
>>> #endif
>>>
>>> I don't know enough about GTK to know why this fixes it or why no one else
>>> has
>>> reported the problem. It's hard to see why this would be specific to
>>> Cygwin.
>>
>> We release storage of mi->name (in free_monitors) by calling xfree, so
>> I'm surprised g_strdup is right here, as that is documented to need
>> g_free instead. I wonder what am I missing.
>
> I think the missing clue is in bug#35259: gdk_monitor_get_model may
> return NULL, which g_strdup gladly accepts, but xstrdup does not.
>
> https://debbugs.gnu.org/35259
Yeah, this is it. I suppose the reason why it wasn't reported before is
that it depends on GTK not being able to grab your monitor name, which
is hardware-dependent. I must have assumed that using g_strdup meant
that I didn't need to check for NULL.
It should be fixed with commit 7308c2edf, so please test again. Sorry
for the inconvenience.
- bug#35204: 27.0.50; Crash on Cygwin, (continued)
- bug#35204: 27.0.50; Crash on Cygwin, Eli Zaretskii, 2019/04/10
- bug#35204: 27.0.50; Crash on Cygwin, Katsumi Yamaoka, 2019/04/10
- bug#35204: 27.0.50; Crash on Cygwin, Eli Zaretskii, 2019/04/11
- bug#35204: 27.0.50; Crash on Cygwin, Katsumi Yamaoka, 2019/04/11
- bug#35204: 27.0.50; Crash on Cygwin, Katsumi Yamaoka, 2019/04/11
- bug#35204: 27.0.50; Crash on Cygwin, Eli Zaretskii, 2019/04/12
- bug#35204: 27.0.50; Crash on Cygwin, Katsumi Yamaoka, 2019/04/12
- bug#35204: 27.0.50; Crash on Cygwin, Ken Brown, 2019/04/12
- bug#35204: 27.0.50; Crash on Cygwin, Eli Zaretskii, 2019/04/12
- bug#35204: 27.0.50; Crash on Cygwin, Basil L. Contovounesios, 2019/04/13
- bug#35204: 27.0.50; Crash on Cygwin,
Alex Gramiak <=
- bug#35204: 27.0.50; Crash on Cygwin, Ken Brown, 2019/04/13
- bug#35204: 27.0.50; Crash on Cygwin, Katsumi Yamaoka, 2019/04/14