Bug 398293

Summary: kalzium interface is missing parts
Product: [Applications] kalzium Reporter: Matt Fagnani <matt.fagnani>
Component: generalAssignee: Kalzium Developers <kalzium>
Status: RESOLVED FIXED    
Severity: normal CC: rdieter
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Picture of kalzium 18.04.3-3 with Qt 5.11.1 missing some interface parts

Description Matt Fagnani 2018-09-05 15:27:35 UTC
Created attachment 114795 [details]
Picture of kalzium 18.04.3-3 with Qt 5.11.1 missing some interface parts

Description of problem:
I'm using Fedora 28. kalzium-18.04.3-3.fc28 doesn't show the top two menu rows and the information panel on the left and legend on the bottom as shown in its documentation https://docs.kde.org/stable5/en/kdeedu/kalzium/quick-start.html

kalzium-18.04.3-3 shows just the periodic table view which takes up almost all the window except for the bottom row with the element and mass. I tried downgrading to kalzium-18.04.3-1 and avogadro2-libs-1.90.0-15, but kalzium's interface was still missing those parts. kalzium did show all the parts recently. I upgraded to Qt 5.11.1 on Aug 28. The elements still show their own windows when clicked on. 

The journal shows the following when starting kalzium:

kwin_x11[3344]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 60994, resource id: 81788952, major code: 25 (SendEvent), minor code: 0
kwin_x11[3344]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 61040, resource id: 81788952, major code: 15 (QueryTree), minor code: 0
plasmashell[3361]: qt.qpa.xcb: QXcbConnection: XCB error: 2 (BadValue), sequence: 15192, resource id: 54525969, major code: 141 (Unknown), minor code: 3

I've seen similar errors at other times so they might not be specific to this particular error. 

I'm running Plasma 5.13.4 on X 1.19.6 on fully updated F28 with updates-testing enabled. I reported this issue to Fedora, and Rex Dieter suggested I report this here
https://bodhi.fedoraproject.org/updates/FEDORA-2018-eae07fdf83
https://bugzilla.redhat.com/show_bug.cgi?id=1625282

I attached a picture of the kalzium-18.04.3-3 window which is missing the menus and other parts taken using Spectacle. I was running Qt 5.11.1 when that picture was taken. I'm running Plasma 5.13.4 with Look and Feel set to Fedora, Desktop theme set to Fedora Twenty Eight, Cursor Theme set to Breeze. The application color scheme is Breeze Edited in which I just customized Breeze to make the title bar light blue. Widget style is set to Breeze.

I ran sudo dnf downgrade kalzium-17.12.3-1.fc28 kalzium 17.12.3 and 18.04.3 had the same missing parts. I then ran sudo dnf downgrade qt5*. kalzium 17.12.3 and 18.04.3 looked the same with Qt 5.10.1 as with 5.11.1. So the problem doesn't seem to be with Qt 5.11.1 or the kalzium version. I tried sudo dnf downgrade kf5*, but dnf suggested downgrading to kf5 5.44 and plasma 5.12.4 which I think might be too far back to narrow down the problem. kf5 5.47 doesn't appear to be in the repositories now. The problem may be in one of kalzium's many kf5 dependencies. I'll look to see if something in kf5 5.49 might address the issue. I tried sudo dnf downgrade libglvnd* as it is a dependency of kalzium, but nothing changed. I updated to glibc-2.27-32 about five days ago, but I doubt the minor changes in it would affect kalzium's interface. kalzium 18.04.3 has the same issue with both avogadro2-libs 1.90.0 and 1.91.0. 

Version-Release number of selected component (if applicable):
kalzium-18.04.3-3.fc28.i686
qt5-qtbase-0:5.11.1-7.fc28.i686
plasma-desktop-0:5.13.4-1.fc28.i686
xorg-x11-server-Xorg-0:1.19.6-8.fc28.i686

How reproducible:
Always

Steps to Reproduce:
1. Run sudo dnf upgrade --refresh with upgrades-testing enabled in F28 to update to kalzium 18.04.3-3 and Qt 5.11.1
2. Run kalzium
3. 

Actual results:
kalzium's interface is missing parts which showed up before

Expected results:
kalzium's interface shows all the intended parts as described above

Additional info:
I am using the i686 builds because my computer has a Pentium 4 CPU from 2002, and maybe that could be part of the problem. My system is using the Mesa 18.0.5 llvmpipe driver with OpenGL version 3.0. I don't if it's possible that the llvmpipe driver can't render some parts of an interface but can render others. All the other KDE programs I've tested run with correctly displayed interfaces with Qt 5.11.1 including Dolphin, Konsole, Kinfocenter, System settings, ksysguard, kate, ksystemlog.

I'm unsure how to use strace and gdb to debug such subtle KDE/Qt interface issues effectively, but I can attach their output if that would be informative. I saw that gammaray can be used to troubleshoot Qt programs, though I haven't tried it yet. I'm open to suggestions. Thanks for your help.
Comment 1 Matt Fagnani 2018-09-06 16:44:51 UTC
I just had the thought that some file in my home directory might be affecting kalzium's behaviour. So I ran sudo kalzium and all of kalzium's interface parts showed up normally. I found ~/.config/kalziumrc which contained

[HTML Settings]
AutomaticDetectionLanguage=1

[KFileDialog Settings]
Recent Files[$e]=porphyrin.cml,file:///usr/share/kalzium/data/molecules/porphyrin.cml
Recent URLs[$e]=file:///usr/share/kalzium/data/molecules/
Window-Maximized 768x1024=true

[MainWindow]
Height 768=341
MenuBar=Disabled
State=AAAA/wAAAAD9AAAAAgAAAAAAAAD6AAACJvwCAAAAAfsAAAAeAGsAYQBsAHoAaQB1AG0ALQBzAGkAZABlAGIAYQByAAAAAEAAAAImAAAArgEAAAMAAAADAAAEAAAAAFH8AQAAAAL7AAAAIgBrAGEAbAB6AGkAdQBtAC0AdABhAGIAbABlAGkAbgBmAG8AAAAAAP////8AAACHAQAAA/sAAAAcAGsAYQBsAHoAaQB1AG0ALQBsAGUAZwBlAG4AZAAAAAAAAAAEAAAAAGABAAADAAAB/AAAAUIAAAAEAAAABAAAAAgAAAAI/AAAAAEAAAACAAAAAQAAABYAbQBhAGkAbgBUAG8AbwBsAEIAYQByAAAAAAD/////AAAAAAAAAAA=
StatusBar=Disabled
ToolBarsMovable=Disabled
Width 1024=508
Window-Maximized 768x1024=true

I'm guessing the MenuBar=Disabled, StatusBar=Disabled, and maybe State were behind the missing menu and other parts. After I renamed that file to ~/.config/kalziumrc.backup and ran kalzium as my user all the parts showed up normally. I'm not sure how the kalziumrc config file got into that state, but it was last modified on August 31 when I tested kalzium related to the avogadro2-1.91.0 update issue. I'm sorry about the mixup. The problem is resolved.