Discussion:
gtk3
Serge
2013-10-03 00:45:03 UTC
Permalink
Yes, emelfm2 gtk3 is free from pane refresh/selection glitch. But
another one is here,
screenshot:Loading Image...
Pane2's bookmarks and back button menus are showing on the pane 1.
--
Claws Mail version 3.8.1
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
Serge
2013-10-03 12:40:34 UTC
Permalink
On Thu, 3 Oct 2013 04:45:03 +0400
Serge <***@bk.ru> wrote:

gtk3 emelfm2 is segfaultung sometimes when pressing copy/move/mkdir on
task toolbar. Latest segfault from dmesg, when pressing mkdir button:
"[37328.790717] emelfm2[5543]: segfault at 1 ip 00007f30a20a93af sp
00007f308d430220 error 4 in libglib-2.0.so.0.3200.4[7f30a2045000+f5000]"
--
Claws Mail version 3.8.1
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
t***@onepost.net
2013-10-04 04:53:35 UTC
Permalink
On Thu, 3 Oct 2013 16:40:34 +0400
Post by Serge
On Thu, 3 Oct 2013 04:45:03 +0400
gtk3 emelfm2 is segfaultung sometimes when pressing copy/move/mkdir on
"[37328.790717] emelfm2[5543]: segfault at 1 ip 00007f30a20a93af sp
00007f308d430220 error 4 in libglib-2.0.so.0.3200.4[7f30a2045000+f5000]"
Serge, I see from your other post that you're ok to build and run with DEBUG enabled.

Can you please post some debug messages generated around the time of one of your crashes. Or better, a couple of examples.

Regards
Tom
Serge
2013-10-03 19:25:59 UTC
Permalink
I forgot to say, with inotify enabled, selection is disappears even
under context menu. I need to change Makefile.config to
"ifeq ($(WITH_KERNELFAM), 1)
USE_INOTIFY ?= 0
USE_KQUEUE ?= 0
USE_PORTEVENT ?= 0
else
USE_INOTIFY ?= 0
USE_KQUEUE ?= 0
USE_PORTEVENT ?= 0
endif"
for using emelfm2 without this glitch.
Video:

Output:
"....
[DEBUG ] Added inotify watch 1 for /media/JUNK/_Z_RomZ/MegaDrive/
[DEBUG ] Added inotify watch 2 for /home/serge/
[DEBUG ] all change-polling initialised after filelists filled
[DEBUG ] DaemonVersion property for /org/freedesktop/UDisks is "1.0.4"
[DEBUG ] Logging removable device /dev/sr0
[DEBUG ] 2 old liststore(s) cleared
[DEBUG ] callback: mouse button 1 press event type 4
[DEBUG ] callback: cursor changed
[DEBUG ] focus row is 297
[DEBUG ] callback: mouse button 3 press event type 4
[DEBUG ] In _e2_fs_FAM_inotify_timeout, for target 1
[DEBUG ] dirty set TRUE for pane 2
[DEBUG ] In e2_filelist_check_dirty()
[DEBUG ] pane 1 is clean
[DEBUG ] refresh-requested flag set for pane 2
[DEBUG ] repoint encoding conversion funcs if necessary, before action
starts [DEBUG ] accepting request to refresh /home/serge/
[DEBUG ] start refresh filelist for /home/serge/
[DEBUG ] disable one refresh, fileview_refresh list
[DEBUG ] callback: cursor changed
[DEBUG ] focus row is 297
[DEBUG ] setup to clear stores later
[DEBUG ] NO need for encoding conversion change after refresh
[DEBUG ] enable refresh, fileview_refresh list
[DEBUG ] 1 old liststore(s) cleared
[DEBUG ] _e2_context_menu_selected_cb, menu: 1cc8bc0
[DEBUG ] In _e2_fs_FAM_inotify_timeout, for target 1
[DEBUG ] timer callback: e2_menu_destroy, menu: 1cc8bc0
[DEBUG ] e2_menu_mark_clear() for /home/serge
[DEBUG ] e2_menu_mark_clear() for /media/cdrom
[DEBUG ] e2_menu_mark_clear() for /
[DEBUG ] e2_menu_mark_clear() for /home/serge
[DEBUG ] e2_menu_mark_clear() for /media
[DEBUG ] e2_menu_mark_clear() for /mnt
[DEBUG ] e2_menu_mark_clear() for /usr
[DEBUG ] e2_menu_mark_clear() for /usr/local
[DEBUG ] e2_menu_mark_clear() for /home/serge/.local/share/Trash/files
[DEBUG ] e2_menu_mark_clear() for /media/SAMSUNG-500GB/_Z_RomZ/GBA

"
--
Claws Mail version 3.8.1
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
t***@onepost.net
2013-10-04 05:17:40 UTC
Permalink
On Thu, 3 Oct 2013 23:25:59 +0400
Serge <***@bk.ru> wrote:

Another example, demonstrating that something fundamental is different.

Filelist refreshing (triggered by your kernel/inotify) should not remove your current selection.
Post by Serge
I forgot to say, with inotify enabled, selection is disappears even
under context menu. I need to change Makefile.config to
"ifeq ($(WITH_KERNELFAM), 1)
USE_INOTIFY ?= 0
USE_KQUEUE ?= 0
USE_PORTEVENT ?= 0
else
USE_INOTIFY ?= 0
USE_KQUEUE ?= 0
USE_PORTEVENT ?= 0
endif"
for using emelfm2 without this glitch.
BTW, you could just apply the change as a build parameter:

make WITH_KERNELFAM=0 etc ...

Regards
Tom
Serge
2013-10-04 10:14:14 UTC
Permalink
On Fri, 4 Oct 2013 15:17:40 +1000
Post by t***@onepost.net
On Thu, 3 Oct 2013 23:25:59 +0400
Another example, demonstrating that something fundamental is
different.
Filelist refreshing (triggered by your kernel/inotify) should not
remove your current selection.
make WITH_KERNELFAM=0 etc ...
Regards
Tom
Thanks, i know.
But can i pass build parameter if i using
"sudo dpkg-buildpackage -d -us -uc"
instead of
"make <params>
sudo make install"
this time?
I use make install for testing only.
Post by t***@onepost.net
Serge, you have something weird going on. I've never seen or heard of
behaviour like that.
You can see that in videos i posted)
Post by t***@onepost.net
The user is in control. The displayed position for a filelist is not
supposed to move around of its own accord, with or without scrollbar
thumb movement. (How is it even possible to move the view with the
thumb staying in the same place, I wonder.)
The visible contents may of course change, if you re-sort, or change
a property of item(s) which affects the current sorting, or if you
add or remove item(s).
* gtk version
* emelfm2 version
Regards
Tom
dpkg-grep.txt about versions is attached.
Problem is that list refresh behaviour is different at the same
situations, sometimes list stays on right position when refreshing but
most of times skips to the top. And up/down arrows do select
previous/next after that skip but outside of visible list (top).
I need to press down arrow for example 5 or more times or press
scrollbar arrow one time, then list scrolls back to current selection.
And. I have Nokia N900 with emelfm2 0.5.0 installed.
Here is the same thing. For example, open emelfm2 - open dir with alot
of files - scroll list to the bottom - write "touch z.txt" in command
line - hit enter - list refreshes and scrolls to the top but
scrollbar stays on the bottom - press scrollbar arrow with stylus one time -
list scrolls to the bottom to current selection.
I build gtk3 e2 with DEBUG tonight or tomorrow and post output.
I have to go now.
Have a nice day.
PS gtk2 version is stable, no segfaults.
--
Claws Mail version 3.8.1
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
t***@onepost.net
2013-10-04 12:31:26 UTC
Permalink
On Fri, 4 Oct 2013 14:14:14 +0400
Post by Serge
On Fri, 4 Oct 2013 15:17:40 +1000
Thanks, i know.
But can i pass build parameter if i using
"sudo dpkg-buildpackage -d -us -uc"
instead of
"make <params>
sudo make install"
this time?
I'm not familiar, but I guess you'd need to alter the rules file. Maybe that's just as tedious as changing Makefile.config.
Post by Serge
Post by t***@onepost.net
* gtk version
* emelfm2 version
OK, the nearest I have to hand is gtk 3.4.4.

I installed that, and presto, I get crashes sometimes - just by repeatedly opening a mkdir dialog. The backtrace indicates that, prima facie, the problem is occurring somewhere inside gtk's styling process.

Doesn't happen on gtk 3.8.4, which I've been using day-to-day. When I get some time, I'll check 3.6. Anyone out there using that now ?

This raises a question about how much effort to put into finding the problem. How long will gtk 3.4.x remain in play?

Regards
Tom
Post by Serge
dpkg-grep.txt about versions is attached.
Problem is that list refresh behaviour is different at the same
situations, sometimes list stays on right position when refreshing but
most of times skips to the top. And up/down arrows do select
previous/next after that skip but outside of visible list (top).
I need to press down arrow for example 5 or more times or press
scrollbar arrow one time, then list scrolls back to current selection.
And. I have Nokia N900 with emelfm2 0.5.0 installed.
I'm pleased that it (14 releases ago) continues to work well enough for regular use.
Post by Serge
Here is the same thing. For example, open emelfm2 - open dir with alot
of files - scroll list to the bottom - write "touch z.txt" in command
line - hit enter - list refreshes and scrolls to the top but
scrollbar stays on the bottom - press scrollbar arrow with stylus one time -
list scrolls to the bottom to current selection.
I build gtk3 e2 with DEBUG tonight or tomorrow and post output.
I have to go now.
Have a nice day.
PS gtk2 version is stable, no segfaults.
Arve Barsnes
2013-10-04 13:07:00 UTC
Permalink
If any distributions have not stabilized 3.6 at this point, they won't. It
has been abandoned by upstream. Stabilization of 3.8 might not be too far
off, so I'm not sure if fixes for 3.4 bugs should be a priority. Hard to
predict though. The new hard systemd dependencies are creating lots of
discussion.
Post by t***@onepost.net
On Fri, 4 Oct 2013 14:14:14 +0400
Post by Serge
On Fri, 4 Oct 2013 15:17:40 +1000
Thanks, i know.
But can i pass build parameter if i using
"sudo dpkg-buildpackage -d -us -uc"
instead of
"make <params>
sudo make install"
this time?
I'm not familiar, but I guess you'd need to alter the rules file. Maybe
that's just as tedious as changing Makefile.config.
Post by Serge
Post by t***@onepost.net
* gtk version
* emelfm2 version
OK, the nearest I have to hand is gtk 3.4.4.
I installed that, and presto, I get crashes sometimes - just by repeatedly
opening a mkdir dialog. The backtrace indicates that, prima facie, the
problem is occurring somewhere inside gtk's styling process.
Doesn't happen on gtk 3.8.4, which I've been using day-to-day. When I get
some time, I'll check 3.6. Anyone out there using that now ?
This raises a question about how much effort to put into finding the
problem. How long will gtk 3.4.x remain in play?
Regards
Tom
Post by Serge
dpkg-grep.txt about versions is attached.
Problem is that list refresh behaviour is different at the same
situations, sometimes list stays on right position when refreshing but
most of times skips to the top. And up/down arrows do select
previous/next after that skip but outside of visible list (top).
I need to press down arrow for example 5 or more times or press
scrollbar arrow one time, then list scrolls back to current selection.
And. I have Nokia N900 with emelfm2 0.5.0 installed.
I'm pleased that it (14 releases ago) continues to work well enough for regular use.
Post by Serge
Here is the same thing. For example, open emelfm2 - open dir with alot
of files - scroll list to the bottom - write "touch z.txt" in command
line - hit enter - list refreshes and scrolls to the top but
scrollbar stays on the bottom - press scrollbar arrow with stylus one
time -
Post by Serge
list scrolls to the bottom to current selection.
I build gtk3 e2 with DEBUG tonight or tomorrow and post output.
I have to go now.
Have a nice day.
PS gtk2 version is stable, no segfaults.
--
Users can unsubscribe from the list by sending email to
by logging into the web interface.
t***@onepost.net
2013-10-04 21:22:01 UTC
Permalink
On Fri, 4 Oct 2013 15:07:00 +0200
Post by Arve Barsnes
If any distributions have not stabilized 3.6 at this point, they won't. It
has been abandoned by upstream. Stabilization of 3.8 might not be too far
off, so I'm not sure if fixes for 3.4 bugs should be a priority. Hard to
predict though. The new hard systemd dependencies are creating lots of
discussion.
I checked gtk 3.6.4 - it's not crashing.

I wondered what might be different for the newer versions. One thing is proper support for combobox styling. I checked (just a little bit) gtk 3.4.4 with a modified emelFM2 that doesn't tailor combobox appearance. That seems to behave itself.

You might like to try:

--- e2_combobox.c-ORIGINAL 2013-10-05 07:07:24.529000000 +1000
+++ e2_combobox.c 2013-10-05 07:10:32.256000000 +1000
@@ -721,5 +721,6 @@
if (!(flags & E2_COMBOBOX_MENU_STYLE))
{
-#ifdef USE_GTK3_0
+ //early gtk3 cannot cope with combobox styling ?
+#ifdef USE_GTK3_6
//use distinct style-object for each combo, cuz all are destroyed during any config window-recreation
GtkCssProvider *liststyle = gtk_css_provider_new ();
@@ -738,5 +739,5 @@
}
g_object_unref (G_OBJECT (liststyle)); //back to refcount=1, or 0
-#else
+#elif !defined(USE_GTK3_0)
static gboolean style_parsed = FALSE;
if (!style_parsed)

This is a diff against my current code, your line numbers may vary a bit.

Regards
Tom
Serge
2013-10-05 00:36:10 UTC
Permalink
On Fri, 4 Oct 2013 22:31:26 +1000
Post by t***@onepost.net
I installed that, and presto, I get crashes sometimes - just by
repeatedly opening a mkdir dialog. The backtrace indicates that,
prima facie, the problem is occurring somewhere inside gtk's styling
process.
Always crash when opening mkdir second time.
Output is attached.

Anyway, i will use gtk2 version. I use XFCE DE and gtk3 programs are
slower and looking differently with default themes.
Post by t***@onepost.net
I'm pleased that it (14 releases ago) continues to work well enough for regular use.
Yes, i like to use it.

I have old desktop with Debian Jessie (testing) installed.
The same emelfm2 version installed there from *.deb does not skips to
the top when refreshing. Output from both machines is attached too.
Start e2 - scroll list to the bottom - select last file with mouse -
'touch z.txt' in command line - close e2
On Wheezy machine, when glitch with filelist happens, there two lines
in output:
[DEBUG ] callback: cursor changed
[DEBUG ] focus row is 295
--
Claws Mail version 3.8.1
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
Loading...