Segmentation fault on RHEL 7
Moderator: SourceGear
Segmentation fault on RHEL 7
The package installed is: diffmerge-4.2.0.697.stable-1.x86_64.rpm on RHEL (workstation release 7.7). DiffMerge starts and I am able to open and compare two files, but as soon as I move the mouse over the toolbar it crashes with a segmentation fault almost immediately and every time. Is there any way to debug this?
Re: Segmentation fault on RHEL 7
Since RHEL 7.7 is based on Fedora 19 and the latest DiffMerge release 4.2 was built on Fedora 29 our recommendation is to download DiffMerge 4.1 and give it a try:
http://download.sourcegear.com/DiffMerg ... x86_64.rpm
http://download.sourcegear.com/DiffMerg ... 1.i686.rpm
Thanks,
Tonya
http://download.sourcegear.com/DiffMerg ... x86_64.rpm
http://download.sourcegear.com/DiffMerg ... 1.i686.rpm
Thanks,
Tonya
Re: Segmentation fault on RHEL 7
DiffMerge 4.2 was removed and 4.1 installed from the x86_64 package. Behavior is the same. I can open and compare two files but as soon as I move the mouse over the toolbar it dies with a segfault. I could try running it with strace or another diagnostic utility to get some idea where it is crashing or what it is trying to call. I'm not sure what options might be useful though.
Re: Segmentation fault on RHEL 7
As a test, I downloaded RHEL 7.7 Server and installed to a virtual machine, did some extra setup and then did an install with 'Server with GUI'. This installed the GNOME desktop. After changing the default runlevel and a reboot, I checked the desktop:
$ gnome-shell --version
GNOME Shell 3.28.3
Next, I downloaded the release DiffMerge (4.2.x) as well as the 4.1.0.534' 64-bit version above. I ran the following to install - "sudo rpm -i diffmerge-4.1.0.534.stable-1.x86_64.rpm". After installation, I was able to to diff two simple files (1 line each), moving the mouse over the toolbar or over the main views, clicking, etc. had no effect and didn't crash the tool.
After this test I ran, 'sudo rpm -ev diffmerge-4.1.0.534.stable-1.x86_64' to uninstall and 'sudo rpm -i diffmerge-4.2.0.697.stable-1.x86_64.rpm' to install the latest version of DiffMerge. Same test, and diffing two simple files had no effect, and using the mouse didn't crash the tool.
----
Are you running Gnome desktop 3.28.3?
Another test you may try is to temporarily rename the '~/.SourceGear DiffMerge' file, and try a test. Perhaps a setting there may be causing the problem.
Finally, a third option (after taking a look at the items above), try launching 'diffmerge' from a command prompt. You may get some warnings like the following:
- ** (diffmerge:3226): WARNING **: 00:23:04.022: invalid source position for vertical gradient
But if there's a segmentation fault or any other errors, that may be output to the command line window,
$ gnome-shell --version
GNOME Shell 3.28.3
Next, I downloaded the release DiffMerge (4.2.x) as well as the 4.1.0.534' 64-bit version above. I ran the following to install - "sudo rpm -i diffmerge-4.1.0.534.stable-1.x86_64.rpm". After installation, I was able to to diff two simple files (1 line each), moving the mouse over the toolbar or over the main views, clicking, etc. had no effect and didn't crash the tool.
After this test I ran, 'sudo rpm -ev diffmerge-4.1.0.534.stable-1.x86_64' to uninstall and 'sudo rpm -i diffmerge-4.2.0.697.stable-1.x86_64.rpm' to install the latest version of DiffMerge. Same test, and diffing two simple files had no effect, and using the mouse didn't crash the tool.
----
Are you running Gnome desktop 3.28.3?
Another test you may try is to temporarily rename the '~/.SourceGear DiffMerge' file, and try a test. Perhaps a setting there may be causing the problem.
Finally, a third option (after taking a look at the items above), try launching 'diffmerge' from a command prompt. You may get some warnings like the following:
- ** (diffmerge:3226): WARNING **: 00:23:04.022: invalid source position for vertical gradient
But if there's a segmentation fault or any other errors, that may be output to the command line window,
Jeff Clausius
SourceGear
SourceGear
Re: Segmentation fault on RHEL 7
Thanks for looking into this. The system is Red Hat Enterprise Linux Workstation release 7.7 and the desktop is KDE (4.14.8 from kinfocenter) in a vnc server (TigerVNC 1.8.0).
Moving the ~/.SourceGear DiffMerge file didn't make a difference. I've always used the command line to start it and the only message is "Segmentation fault (core dumped)".
Moving the ~/.SourceGear DiffMerge file didn't make a difference. I've always used the command line to start it and the only message is "Segmentation fault (core dumped)".
Re: Segmentation fault on RHEL 7
I cannot find any location on redhat's site where I can download 7.7 workstation.
I'll try switching to KDE on my Server install to see if that has any effect on DiffMerge. Will update once I've tested it out.
I'll try switching to KDE on my Server install to see if that has any effect on DiffMerge. Will update once I've tested it out.
Jeff Clausius
SourceGear
SourceGear
Re: Segmentation fault on RHEL 7
It still works (meaning DiffMerge didn't crash), but there is something definitely different here:
$] konsole --version
Qt: 4.8.7
KDE Development Platform: 4.14.8
Konsole: 2.10.5
----
I ran diffmerge with the two attached files again. This time the console spits out:
(diffmerge:4334): Gtk-CRITICAL **: 01:02:45.695: IA__gtk_widget_queue_draw: assertion 'GTK_IS_WIDGET (widget)' failed
----
I didn't see these critical errors with GNOME. It could be there's something in GTK that doesn't like something with the UI code. Have you tried a GNOME session on your workstation release to see if it also encounters a segmentation fault.
----
Can you see what GTK versions are installed? gtk2.x86_64 / gtk3.x86_64 are both installed on this test system.
Using [[ yum list installed | egrep '^gtk(2|3)\.' ]]:
gtk2.x86_64 2.24.31-1.el7
gtk3.x86_64 3.22.30-3.el7
OR
Using [[ rpm -qa | egrep '^gtk(2|3)' ]]:
gtk2-2.24.31-1.el7.x86_64
gtk2-immodule-xim-2.24.31-1.el7.x86_64
gtk3-3.22.30-3.el7.x86_64
gtk3-immodule-xim-3.22.30-3.el7.x86_64
Could it be related to that?
$] konsole --version
Qt: 4.8.7
KDE Development Platform: 4.14.8
Konsole: 2.10.5
----
I ran diffmerge with the two attached files again. This time the console spits out:
(diffmerge:4334): Gtk-CRITICAL **: 01:02:45.695: IA__gtk_widget_queue_draw: assertion 'GTK_IS_WIDGET (widget)' failed
----
I didn't see these critical errors with GNOME. It could be there's something in GTK that doesn't like something with the UI code. Have you tried a GNOME session on your workstation release to see if it also encounters a segmentation fault.
----
Can you see what GTK versions are installed? gtk2.x86_64 / gtk3.x86_64 are both installed on this test system.
Using [[ yum list installed | egrep '^gtk(2|3)\.' ]]:
gtk2.x86_64 2.24.31-1.el7
gtk3.x86_64 3.22.30-3.el7
OR
Using [[ rpm -qa | egrep '^gtk(2|3)' ]]:
gtk2-2.24.31-1.el7.x86_64
gtk2-immodule-xim-2.24.31-1.el7.x86_64
gtk3-3.22.30-3.el7.x86_64
gtk3-immodule-xim-3.22.30-3.el7.x86_64
Could it be related to that?
Jeff Clausius
SourceGear
SourceGear
Re: Segmentation fault on RHEL 7
When I switched to Gnome I was able to run DiffMerge and it didn't crash. I could even click on controls in the toolbar which I wasn't able to do before. Then I switched back to KDE and it is still working, although I do see the same critical assertion failure messages from GTK. We switched back to DiffMerge 4.2 and it is still working, with KDE.
This is what we have for GTK versions:
gtk2-2.24.31-1.el7.x86_64
gtk3-immodule-xim-3.22.30-3.el7.x86_64
gtk2-devel-2.24.31-1.el7.x86_64
gtk3-devel-3.22.30-3.el7.x86_64
gtk2-devel-docs-2.24.31-1.el7.x86_64
gtk2-immodule-xim-2.24.31-1.el7.x86_64
gtk3-3.22.30-3.el7.x86_64
Is it possible that running with Gnome initialized something that failed with KDE and now that it ran once it works in either environment?
This is what we have for GTK versions:
gtk2-2.24.31-1.el7.x86_64
gtk3-immodule-xim-3.22.30-3.el7.x86_64
gtk2-devel-2.24.31-1.el7.x86_64
gtk3-devel-3.22.30-3.el7.x86_64
gtk2-devel-docs-2.24.31-1.el7.x86_64
gtk2-immodule-xim-2.24.31-1.el7.x86_64
gtk3-3.22.30-3.el7.x86_64
Is it possible that running with Gnome initialized something that failed with KDE and now that it ran once it works in either environment?
Re: Segmentation fault on RHEL 7
I honestly couldn't tell you what is going on. My guess is GNOME installs some other small Gtk dependent library for toolbars (buttons, images, etc.) and/or mouse events that didn't get installed with KDE, and switching it installed that missing component.
Just glad DiffMerge is now running on your system.
Just glad DiffMerge is now running on your system.
Jeff Clausius
SourceGear
SourceGear