Re: [code] [textadept] TA 9.1 SIGSEGV in libgail.so

From: Gabriel Dubatti <gdubatti.att.gmail.com>
Date: Tue, 20 Dec 2016 09:20:47 -0300

Thanks Pedro for the info. Have you tried to split views?

I can confirm the problem is in Scintilla because y downloaded
gscite371.tgz from http://www.scintilla.org/SciTEDownload.html and run
it in Ubuntu MATE 16.04 32 bits with this GTK versions: dpkg -l
libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'

ii libgtk-3-0:i386 3.18.9-1ubuntu3.1 i386 GTK+
graphical user interface library
ii libgtk-3-bin 3.18.9-1ubuntu3.1 i386 programs
for the GTK+ graphical user interface library
ii libgtk-3-common 3.18.9-1ubuntu3.1 all common
files for the GTK+ graphical user interface library
ii libgtk2-perl 2:1.2498-1 i386 Perl interface
to the 2.x series of the Gimp Toolkit library
ii libgtk2.0-0:i386 2.24.30-1ubuntu1 i386 GTK+
graphical user interface library
ii libgtk2.0-bin 2.24.30-1ubuntu1 i386 programs
for the GTK+ graphical user interface library
ii libgtk2.0-common 2.24.30-1ubuntu1 all common
files for the GTK+ graphical user interface library
ii libgtk2.0-dev 2.24.30-1ubuntu1 i386
development files for the GTK+ library

The about window said it's: Version 3.7.1 compiled for GTK+ 2.24.10
(Dec 4 2016 15:10:33) and when I press OK, to close the about dialog,
the same SIGSEGV is generated !

Thread 1 "SciTE" received signal SIGSEGV, Segmentation fault.
0xb67c4eef in ?? () from /usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so
(gdb) where
#0 0xb67c4eef in ?? () from
/usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so
#1 0xb77c251c in g_cclosure_marshal_VOID__PARAM () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#2 0xb77bfb6b in g_closure_invoke () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#3 0xb77d1ffc in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#4 0xb77dac96 in g_signal_emit_valist () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#5 0xb77dafc5 in g_signal_emit () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#6 0xb77c3bf1 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#7 0xb77c3446 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#8 0xb77c64dd in g_object_thaw_notify () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0

I'll try to file a bug there.

Best wishes,

Gabriel

El 20/12/2016 a las 06:50, Pedro Andrés Aranda Gutiérrez escribió:
> My .2 cents:
>
> I’m using TA9.1 stock (ie. LATEST from the Web page) both in Linux and OSX.
> My Linux is a GNOME-Ubuntu 16.04 (ie. Stock Ubuntu LTS with GNOME3) and I compile and create .deb packages to install TextAdept and the modules.
> I use it quite frequently and I’ve not experienced any issue at all…
>
> Best, /PA
>
> On 20 Dec 2016, at 02:14, Gabriel Dubatti <gdubatti.att.gmail.com> wrote:
>
>> Hi Mitchell,
>>
>> If I compile TA 9.1 using the scintilla folder from TA 9.0 (downgrading scintilla from version 371 to 366) and keeping the rest of the code the same (except line 2220 in textadept.c: SC_POPUP_NEVER => 0) the issue is gone!
>>
>> Replacing SC_POPUP_NEVER with 0 without downgrading scintilla doesn't solve the issue.
>>
>> This version adds a file called ScintillaGTKAccessible.cxx with this comments:
>>
>> // On GTK < 3.2, we need to use the AtkObjectFactory. We need to query
>> // the factory to see what type we should derive from, thus making use of
>> // dynamic inheritance. It's tricky, but it works so long as it's done
>> // carefully enough.
>> //
>> // On GTK 3.2 through 3.6, we need to hack around because GTK stopped
>> // registering its accessible types in the factory, so we can't query
>> // them that way. Unfortunately, the accessible types aren't exposed
>> // yet (not until 3.8), so there's no proper way to know which type to
>> // inherit from. To work around this, we instantiate the parent's
>> // AtkObject temporarily, and use it's type. It means creating an extra
>> // throwaway object and being able to pass the type information up to the
>> // type registration code, but it's the only solution I could find.
>> //
>> // On GTK 3.8 onward, we use the proper exposed GtkContainerAccessible as
>> // parent, and so a straightforward class.
>> //
>> // To hide and contain the complexity in type creation arising from the
>> // hackish support for GTK 3.2 to 3.8, the actual implementation for the
>> // widget's get_accessible() is located in the accessibility layer itself.
>>
>> // Initially based on GtkTextViewAccessible from GTK 3.20
>> // Inspiration for the GTK < 3.2 part comes from Evince 2.24, thanks.
>>
>> // FIXME: optimize character/byte offset conversion (with a cache?)
>>
>> which seems a little fragile to me....
>>
>> I will let you know if I find something else.
>>
>> Cheers,
>> Gabriel
>>
>>
>> El 17/12/16 a las 12:08, Gabriel Dubatti escribió:
>>> El 17/12/16 a las 11:48, Mitchell escribió:
>>>> Hi Gabriel,
>>>>
>>>> On Sat, 17 Dec 2016, Gabriel Dubatti wrote:
>>>>
>>>>> Hi Mitchell,
>>>>>
>>>>> Yesterday I noticed that TA hangs when trying to split views in Ubuntu Mate 16.04 64 bits (in 32 bits too) so I downloaded the last 9.1 NIGTHLY, rename my ~/.textadept folder and tested it and the issue persists.
>>>>>
>>>>> The last 9.0 version I have in this computer runs fine.
>>>>>
>>>>> I run gdb and found that the issue is related to libgail.so:
>>>>>
>>>>> package: libgail-common
>>>>> gtk+2.0
>>>>> 2.24.30-1ubuntu1
>>>>>
>>>>> Here's a screen dump after trying to split the view vertically from the menu:
>>>>>
>>>>> [snip]
>>>> Thanks for the detailed traceback. The crash occurs within a GTK call, more specifically `gtk_container_remove()`. Textadept keeps track of view references properly, and since I've never seen this before, I'm thinking it's a GTK problem :( (Also, the code around the crash has not been changed in years.)
>>>>
>>>> Do you still get the crash when you recompile Textadept yourself?
>>>>
>>>> Cheers,
>>>> Mitchell
>>> Yes. I usually run TA compiled with my toolbar. At first I thought that was the problem, so I downloaded the latest nightly version and remove my configs.
>>> It seems that some gtk related update broke it (both in 64 and 32 bits versions).
>>> I'm running Win32 at work without any issue, though.
>>> I will let you know if I find something else.
>>> Cheers,
>>> Gabriel
>> --
>> You are subscribed to code.att.foicica.com.
>> To change subscription settings, send an e-mail to code+help.att.foicica.com.
>> To unsubscribe, send an e-mail to code+unsubscribe.att.foicica.com.
>>

-- 
You are subscribed to code.att.foicica.com.
To change subscription settings, send an e-mail to code+help.att.foicica.com.
To unsubscribe, send an e-mail to code+unsubscribe.att.foicica.com.
Received on Tue 20 Dec 2016 - 07:20:47 EST

This archive was generated by hypermail 2.2.0 : Wed 21 Dec 2016 - 06:53:16 EST