Discussion:
Two problems
Geoff
2012-02-08 15:02:50 UTC
Permalink
Hi Tom,

With apologies for inadequate bug reports, here are two. I was not going to
trouble you with the first, because I have not had time recently (still don't)
to do the kind of rigorous testing that may help you with a fix. The second,
show stopping, bug has, however, now emerged as I was making my own attempts to
deal with the first, so I may as well at least notify you of both.

I am as always using Arch linux, running a self-compiled emelfm2 with icewm as
my window manager. gtk version is 2.24.

Bug 1 : file.view crashes emelfm1 unpredictably but frequently. If run from a
terminal I see :

Gtk:ERROR:gtktextview.c:3723:gtk_text_view_validate_onscreen:
assertion failed: (priv->onscreen_validated)

Bug 2 : I can no longer compile emelfm2 :

compiling 'src/utils/e2_tree.c'
linking binary 'emelfm2'
/usr/bin/ld: objs/src/e2_dnd.o: undefined reference to symbol 'exp@@GLIBC_2.0'
/usr/bin/ld: note: 'exp@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try
adding it to the linker command line /lib/libm.so.6: could not read symbols:
Invalid operation collect2: ld returned 1 exit status
make: *** [emelfm2] Error 1

I am not sure what package provides libm, but I see that my version is
recent ..... installed on 4th Feb.

Apologies again for the brevity of this.

Geoff
t***@onepost.net
2012-02-09 01:55:59 UTC
Permalink
On Wed, 8 Feb 2012 15:02:50 +0000
Post by Geoff
With apologies for inadequate bug reports, here are two. I was not going to
trouble you with the first, because I have not had time recently (still don't)
to do the kind of rigorous testing that may help you with a fix. The second,
show stopping, bug has, however, now emerged as I was making my own attempts to
deal with the first, so I may as well at least notify you of both.
I am as always using Arch linux, running a self-compiled emelfm2 with icewm as
my window manager. gtk version is 2.24.
Bug 1 : file.view crashes emelfm1 unpredictably but frequently. If run from a
assertion failed: (priv->onscreen_validated)
Will look into this ASAP. First impression is that this may be internal to gtk.
Post by Geoff
compiling 'src/utils/e2_tree.c'
linking binary 'emelfm2'
Invalid operation collect2: ld returned 1 exit status
make: *** [emelfm2] Error 1
I am not sure what package provides libm, but I see that my version is
recent ..... installed on 4th Feb.
libm is normally treated as part of libc, and as such, handled implicitly in the build process.

I've recently had another report about arch strangeness, cured by adding explicit link instructions. Somewhere relevant in Makefile, add '-lm -ldl' e.g. line 287

lLIBS += -lrt

to

lLIBS += -lrt -lm -ldl

Regards
Tom
t***@onepost.net
2012-02-09 21:10:52 UTC
Permalink
On Thu, 9 Feb 2012 12:55:59 +1100
Post by t***@onepost.net
On Wed, 8 Feb 2012 15:02:50 +0000
Post by Geoff
Bug 1 : file.view crashes emelfm1 unpredictably but frequently. If run from a
assertion failed: (priv->onscreen_validated)
gtk_text_view_validate_onscreen() is not called directly from within emelFM2, so I'd welcome some more clues about where to investigate.

Any chance of running via gdb, and a backtrace upon crash?

What behaviour/operation seems to trigger the crash?

Regards
Tom
Geoff
2012-02-09 21:44:44 UTC
Permalink
On Fri, 10 Feb 2012 08:10:52 +1100
Post by t***@onepost.net
gtk_text_view_validate_onscreen() is not called directly from within emelFM2,
so I'd welcome some more clues about where to investigate.
Any chance of running via gdb, and a backtrace upon crash?
What behaviour/operation seems to trigger the crash?
Bug 2 was, as you anticipated, fixed by your suggestion. I am not enough of a
programmer to have worked out that it was an Arch peculiarity rather than an
update to libm causing the problem.

As I said, I have been out of the loop somewhat for a few months now, and
another thing I have learned is that I do have gkt 3 (3.2.3 to be precise), on
my system. I have got as far as setting WITH_GTK3 ?= 0 for the recompilation
(maybe a futile gesture anyway), but it does not help.

It is really hard to find any common ground between the files which trigger the
crash, except to say that they are numerous and it does not seem to depend on
length or any particular content. That is why I wanted to experiment a bit
more and try to provide a more helpful bug report before notifying you. Life
is still a bit hectic today (it is getting late here now), and maybe tomorrow,
but now that we are on to this I will provide the backtrace and some
sample files which provoke the crash. To provide an initial quick example, the
little text file attached is just a record of a youtube url for a piece of music
and a translation of the text. It crashes both my existing emelfm2 and the new
WITH_GTK3 ?= 0 version.

Geoff
t***@onepost.net
2012-02-10 05:15:05 UTC
Permalink
On Thu, 9 Feb 2012 21:44:44 +0000
Post by Geoff
On Fri, 10 Feb 2012 08:10:52 +1100
Post by t***@onepost.net
What behaviour/operation seems to trigger the crash?
As I said, I have been out of the loop somewhat for a few months now, and
another thing I have learned is that I do have gkt 3 (3.2.3 to be precise), on
my system. I have got as far as setting WITH_GTK3 ?= 0
I guess you mean WITH_GTK3=1


for the recompilation
Post by Geoff
(maybe a futile gesture anyway), but it does not help.
It is really hard to find any common ground between the files which trigger the
crash, except to say that they are numerous and it does not seem to depend on
length or any particular content.
Is it merely opening the file in question ?

Or scrolling, for example ?

That is why I wanted to experiment a bit
Post by Geoff
more and try to provide a more helpful bug report before notifying you. Life
is still a bit hectic today (it is getting late here now), and maybe tomorrow,
but now that we are on to this I will provide the backtrace and some
sample files which provoke the crash.
No rush, whenever is convenient. Maybe nobody else has this problem.

To provide an initial quick example, the
Post by Geoff
little text file attached is just a record of a youtube url for a piece of music
and a translation of the text. It crashes both my existing emelfm2 and the new
WITH_GTK3 ?= 0 version.
No such behaviour here (gtk 2.24.4 or 3.0.12, I haven't been sufficiently patient to overcome build-problems with 3.2.x).

Regards
Tom
Arve Barsnes
2012-02-10 07:02:45 UTC
Permalink
That is why I wanted to experiment a bit
Post by Geoff
Post by Geoff
more and try to provide a more helpful bug report before notifying you.
Life
Post by Geoff
is still a bit hectic today (it is getting late here now), and maybe
tomorrow,
Post by Geoff
but now that we are on to this I will provide the backtrace and some
sample files which provoke the crash.
No rush, whenever is convenient. Maybe nobody else has this problem.
These crashes also happen now and then for me, usually when opening files,
but not nearly frequently enough that I have reported it before. Hopefully
some stack traces could give you some clues on what are causing them, as
they are pretty annoying when they happen. It's been happening for a very
long time, but hard to tell if it's because of something in emel or our
systems (I'm on gentoo, so pretty similar to arch)
peter kostov
2012-02-10 10:54:27 UTC
Permalink
Post by t***@onepost.net
On Thu, 9 Feb 2012 21:44:44 +0000
Post by Geoff
On Fri, 10 Feb 2012 08:10:52 +1100
Post by t***@onepost.net
What behaviour/operation seems to trigger the crash?
As I said, I have been out of the loop somewhat for a few months now, and
another thing I have learned is that I do have gkt 3 (3.2.3 to be precise), on
my system. I have got as far as setting WITH_GTK3 ?= 0
I guess you mean WITH_GTK3=1
for the recompilation
Post by Geoff
(maybe a futile gesture anyway), but it does not help.
It is really hard to find any common ground between the files which trigger the
crash, except to say that they are numerous and it does not seem to depend on
length or any particular content.
Is it merely opening the file in question ?
Or scrolling, for example ?
That is why I wanted to experiment a bit
Post by Geoff
more and try to provide a more helpful bug report before notifying you. Life
is still a bit hectic today (it is getting late here now), and maybe tomorrow,
but now that we are on to this I will provide the backtrace and some
sample files which provoke the crash.
No rush, whenever is convenient. Maybe nobody else has this problem.
Actually I do. It's not frequently but it happens sometimes. I didn't
pay attention until I saw this conversation. I don't see any particular
pattern.
I have compiled emelfm2 on gentoo linux with WITH_GTK3 ?= 0. I have both
gtk2 and gtk3 installed:
[IP-] [ ] x11-libs/gtk+-2.24.4:2
[IP-] [ ] x11-libs/gtk+-3.0.12-r1:3
Post by t***@onepost.net
To provide an initial quick example, the
Post by Geoff
little text file attached is just a record of a youtube url for a piece of music
and a translation of the text. It crashes both my existing emelfm2 and the new
WITH_GTK3 ?= 0 version.
No such behaviour here (gtk 2.24.4 or 3.0.12, I haven't been sufficiently patient to overcome build-problems with 3.2.x).
Regards
Tom
Geoff
2012-02-10 20:10:44 UTC
Permalink
On Fri, 10 Feb 2012 16:15:05 +1100
<***@onepost.net> wrote:

<snip>
Post by t***@onepost.net
Post by Geoff
As I said, I have been out of the loop somewhat for a few months now, and
another thing I have learned is that I do have gkt 3 (3.2.3 to be precise),
on my system. I have got as far as setting WITH_GTK3 ?= 0
I guess you mean WITH_GTK3=1
Sorry, I have caused confusion here. My existing emelfm2 had been compiled
using WITH_GTK3=1, but to be honest I had forgotten. I have been suffering
from a serious physical illness during the past 6 months (hopefully cured now)
and my grasp of some details had slipped.

<snip>
Post by t***@onepost.net
Post by Geoff
It is really hard to find any common ground between the files which trigger
the crash, except to say that they are numerous and it does not seem to
depend on length or any particular content.
Is it merely opening the file in question ?
Or scrolling, for example ?
The crash is always on opening.

Sorry to drip feed, but I have been able to do some experiments under gdb. All
of these have been with my existing emelfm2 (WITH_GTK3=1). I have done 6 runs
and the errors resolve into two types. All tests were on short, entirely
conventional, text files. I will provide more feedback in due course, but I
thought you might like to see what I have so far.

Type 1 :

Gtk:ERROR:gtktextview.c:3723:gtk_text_view_validate_onscreen: assertion failed:
(priv->onscreen_validated) Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) backtrace
#0 0xb7fdd424 in __kernel_vsyscall ()
#1 0xb76a007f in raise () from /lib/libc.so.6
#2 0xb76a1a05 in abort () from /lib/libc.so.6
#3 0xb789d48e in g_assertion_message () from /usr/lib/libglib-2.0.so.0
#4 0xb789da1f in g_assertion_message_expr () from /usr/lib/libglib-2.0.so.0
#5 0xb7d712eb in ?? () from /usr/lib/libgtk-3.so.0
#6 0xb7d740c0 in ?? () from /usr/lib/libgtk-3.so.0
#7 0xb7d7410c in ?? () from /usr/lib/libgtk-3.so.0
#8 0xb7ad77fe in ?? () from /usr/lib/libgdk-3.so.0
#9 0xb7873ed0 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb787801f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0xb7878750 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb7878d5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0xb7c95a65 in gtk_main () from /usr/lib/libgtk-3.so.0
#14 0x08065420 in main ()

Type 2 :

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb28b4b40 (LWP 19146)]
0xb796f1b8 in g_type_check_instance_cast () from /usr/lib/libgobject-2.0.so.0
(gdb) backtrace
#0 0xb796f1b8 in g_type_check_instance_cast ()
from /usr/lib/libgobject-2.0.so.0
#1 0x080d9d89 in e2_combobox_get ()
#2 0x080da0ff in e2_combobox_add ()
#3 0x080c7dd7 in e2_view_dialog_create_searchbar ()
#4 0x080c84a3 in ?? ()
#5 0x080c96ef in e2_view_dialog_create ()
#6 0x08079e38 in ?? ()
#7 0x0807a615 in ?? ()
#8 0xb7819cac in start_thread () from /lib/libpthread.so.0
#9 0xb775a76e in clone () from /lib/libc.so.6

Geoff
t***@onepost.net
2012-02-10 21:55:04 UTC
Permalink
On Fri, 10 Feb 2012 20:10:44 +0000
Post by Geoff
On Fri, 10 Feb 2012 16:15:05 +1100
The crash is always on opening.
OK, something to do with dialog creation, perhaps.
Post by Geoff
Sorry to drip feed, but I have been able to do some experiments under gdb. All
of these have been with my existing emelfm2 (WITH_GTK3=1). I have done 6 runs
and the errors resolve into two types. All tests were on short, entirely
conventional, text files. I will provide more feedback in due course, but I
thought you might like to see what I have so far.
Geoff, if you build your emelFM2 with DEBUG=1, it will enable display of line-numbers in backtraces, which would help.

Always going to be hard to find what might be happening in your type 1. If you can provide the exact assertion message, I may be able to find it within gtk source-files.

Regards
Tom
Post by Geoff
(priv->onscreen_validated) Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) backtrace
#0 0xb7fdd424 in __kernel_vsyscall ()
#1 0xb76a007f in raise () from /lib/libc.so.6
#2 0xb76a1a05 in abort () from /lib/libc.so.6
#3 0xb789d48e in g_assertion_message () from /usr/lib/libglib-2.0.so.0
#4 0xb789da1f in g_assertion_message_expr () from /usr/lib/libglib-2.0.so.0
#5 0xb7d712eb in ?? () from /usr/lib/libgtk-3.so.0
#6 0xb7d740c0 in ?? () from /usr/lib/libgtk-3.so.0
#7 0xb7d7410c in ?? () from /usr/lib/libgtk-3.so.0
#8 0xb7ad77fe in ?? () from /usr/lib/libgdk-3.so.0
#9 0xb7873ed0 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb787801f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0xb7878750 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb7878d5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0xb7c95a65 in gtk_main () from /usr/lib/libgtk-3.so.0
#14 0x08065420 in main ()
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb28b4b40 (LWP 19146)]
0xb796f1b8 in g_type_check_instance_cast () from /usr/lib/libgobject-2.0.so.0
(gdb) backtrace
#0 0xb796f1b8 in g_type_check_instance_cast ()
from /usr/lib/libgobject-2.0.so.0
#1 0x080d9d89 in e2_combobox_get ()
#2 0x080da0ff in e2_combobox_add ()
#3 0x080c7dd7 in e2_view_dialog_create_searchbar ()
#4 0x080c84a3 in ?? ()
#5 0x080c96ef in e2_view_dialog_create ()
#6 0x08079e38 in ?? ()
#7 0x0807a615 in ?? ()
#8 0xb7819cac in start_thread () from /lib/libpthread.so.0
#9 0xb775a76e in clone () from /lib/libc.so.6
Geoff
2012-02-11 00:07:26 UTC
Permalink
On Sat, 11 Feb 2012 08:55:04 +1100
<snip>
Geoff, if you build your emelFM2 with DEBUG=1, it will enable display of
line-numbers in backtraces, which would help.
The two examples below have been produced by a fresh compile WITH_GTK3=1 and
DEBUG=1.
Always going to be hard to find what might be happening in your type 1. If
you can provide the exact assertion message, I may be able to find it within
gtk source-files.
I am pasting all that I see after the crash. Is there any way I can do more to
find the exact assertion message?

I am seeing more of the Type 2's than Type1's at the moment, but the whole
thing does give the appearance of randomness. Files that opened without
problems one moment provoke one or other type of crash the next - then open
without problems again later.

Type 1 :

Gtk:ERROR:gtktextview.c:3723:gtk_text_view_validate_onscreen: assertion failed:
(priv->onscreen_validated) Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) backtrace
#0 0xb7fdd424 in __kernel_vsyscall ()
#1 0xb767607f in raise () from /lib/libc.so.6
#2 0xb7677a05 in abort () from /lib/libc.so.6
#3 0xb789d48e in g_assertion_message () from /usr/lib/libglib-2.0.so.0
#4 0xb789da1f in g_assertion_message_expr () from /usr/lib/libglib-2.0.so.0
#5 0xb7d712eb in ?? () from /usr/lib/libgtk-3.so.0
#6 0xb7d740c0 in ?? () from /usr/lib/libgtk-3.so.0
#7 0xb7d7410c in ?? () from /usr/lib/libgtk-3.so.0
#8 0xb7ad77fe in ?? () from /usr/lib/libgdk-3.so.0
#9 0xb7873ed0 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0xb787801f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#11 0xb7878750 in ?? () from /usr/lib/libglib-2.0.so.0
#12 0xb7878d5b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0xb7c95a65 in gtk_main () from /usr/lib/libgtk-3.so.0
#14 0x08082db9 in main (argc=1, argv=0xbffffac4) at src/e2_main.c:913

Type 2 :

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb28bab40 (LWP 8289)]
0xb796f1b8 in g_type_check_instance_cast () from /usr/lib/libgobject-2.0.so.0
(gdb) backtrace
#0 0xb796f1b8 in g_type_check_instance_cast ()
from /usr/lib/libgobject-2.0.so.0
#1 0x080e5cb2 in e2_combobox_get (activate_cb=0, activate_data=0x0,
history=0x8110c8c, flags=5) at src/utils/e2_combobox.c:652
#2 0x080e5f88 in e2_combobox_add (box=0x841deb8, expand=1, padding=0,
activate_cb=0, activate_data=0x0, history=0x8110c8c, flags=5)
at src/utils/e2_combobox.c:756
#3 0x080d1601 in e2_view_dialog_create_searchbar (rt=0xb1d5d200)
at src/dialogs/e2_view_dialog.c:1066
#4 0x080d2a03 in _e2_view_dialog_create (
localpath=0xb1d2e8a0 "/home/me/curiosities/limericks.txt", srt=0x0)
at src/dialogs/e2_view_dialog.c:1748
#5 0x080d332d in e2_view_dialog_create (
localpath=0xb1d2e8a0 "/home/me/curiosities/limericks.txt")
at src/dialogs/e2_view_dialog.c:2039
#6 0x0807a2e4 in e2_task_backend_view (
localpath=0xb1d2e8a0 "/home/me/curiosities/limericks.txt")
at src/e2_task_backend.c:2123
#7 0x0807f1ca in _e2_task_viewQ (qed=0x8506460) at src/e2_task.c:3835
#8 0x0807b57a in _e2_task_processnow (rt=0x8506450) at src/e2_task.c:883
#9 0xb77efcac in start_thread () from /lib/libpthread.so.0
#10 0xb773076e in clone () from /lib/libc.so.6

Geoff
t***@onepost.net
2012-02-11 02:33:26 UTC
Permalink
On Sat, 11 Feb 2012 00:07:26 +0000
Post by Geoff
I am pasting all that I see after the crash. Is there any way I can do more to
find the exact assertion message?
No, it's shown, thanks
Post by Geoff
I am seeing more of the Type 2's than Type1's at the moment, but the whole
thing does give the appearance of randomness. Files that opened without
problems one moment provoke one or other type of crash the next - then open
without problems again later.
Yuk! This type of thing indicates that the problem has probably got nothing, or not much, to do with the indicated code and related error messages. Probably, yet again, gtk is asynchronously doing something un-documented.
From here we have a pointer to an apparent problem, relating to gtk3 styling mechanisms. On the www there are various reports of the same type of failure. Sofar I haven't seen any solution. The same emelFM2 code is used multiple times, and only in the view-dialog it fails? Edit dialog too? Mkdir dialog too?

The only useful choice for us is some trial and error to try to see what's happening. More thinking needed.

Regards
Tom
Arve Barsnes
2012-02-11 07:06:28 UTC
Permalink
Post by t***@onepost.net
From here we have a pointer to an apparent problem, relating to gtk3
styling mechanisms. On the www there are various reports of the same type
of failure. Sofar I haven't seen any solution. The same emelFM2 code is
used multiple times, and only in the view-dialog it fails? Edit dialog too?
Mkdir dialog too?
I've definitely had this type of crash happening when pressing <F7> to
initiate the mkdir dialogue too!
t***@onepost.net
2012-03-09 21:20:41 UTC
Permalink
On Sat, 11 Feb 2012 08:06:28 +0100
Post by Arve Barsnes
Post by t***@onepost.net
From here we have a pointer to an apparent problem, relating to gtk3
styling mechanisms. On the www there are various reports of the same type
of failure. Sofar I haven't seen any solution. The same emelFM2 code is
used multiple times, and only in the view-dialog it fails? Edit dialog too?
Mkdir dialog too?
I've definitely had this type of crash happening when pressing <F7> to
initiate the mkdir dialogue too!
After considerable mucking around, with Geoff's great assistance, svn now has some changes which seem to work around the known dialog-problems with gtk3.

Feel free to evaluate and report.

Regards
Tom
t***@onepost.net
2012-03-11 23:23:30 UTC
Permalink
On Sat, 10 Mar 2012 08:20:41 +1100
Post by t***@onepost.net
On Sat, 11 Feb 2012 08:06:28 +0100
Post by Arve Barsnes
Post by t***@onepost.net
From here we have a pointer to an apparent problem, relating to gtk3
styling mechanisms. On the www there are various reports of the same type
of failure. Sofar I haven't seen any solution. The same emelFM2 code is
used multiple times, and only in the view-dialog it fails? Edit dialog too?
Mkdir dialog too?
I've definitely had this type of crash happening when pressing <F7> to
initiate the mkdir dialogue too!
After considerable mucking around, with Geoff's great assistance, svn now has some changes which seem to work around the known dialog-problems with gtk3.
Feel free to evaluate and report.
On further usage, here I see that the changes (related to combobox styling on gtk3) do not work in all contexts. I think we need to abandon that styling. No operational impact, only cosmetic. Not yet changed in svn, pending further feedback from other users.

Regards
Tom

Loading...