Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign uptemplates: QT applications not updating screen (draw) reliably #1051
Comments
nrgaway
referenced this issue
Jul 6, 2015
Closed
get rid of custom systemd maintainer script code (disableSystemdUnits) #1043
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 6, 2015
Member
I guess it is some problem with GUI agent. Most like some race condition
during initial window creation. Try running a VM in debug mode - then
you'll have very detailed gui agent and daemon logs. Search for MFNDUMP
messages - it should appear for every window create - maybe for some
reason it isn't for those popups.
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
I guess it is some problem with GUI agent. Most like some race condition Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nrgaway
commented
Jul 6, 2015
|
Thank you for the debugging tips, I will try that! |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nrgaway
Jul 7, 2015
This is a partial log containing one windows, a menu window; I removed all other windows from log. When first clicked, a window does appear, but is blank. Then I click on another top menu, it also appears blank. Finally, I re-click the original menu that was blank and it now appears.
It does appear to be creating the window.
# Did not work #1; blank
Created 0x42000f1(0x100009d) parent 0x0(0x176) ovr=0 x/y 1670/214 w/h 250/424
invalid PMinSize for 0x42000f1 (0/0)
invalid PMaxSize for 0x42000f1 (0/0)
invalid PResizeInc for 0x42000f1 (0/0)
invalid PBaseSize for 0x42000f1 (0/0)
set WM_NORMAL_HINTS for window 0x42000f1 to min=0/0, max=0/0, base=0/0, inc=0/0 (flags 0x5)
MSG_MFNDUMP for 0x42000f1(0x100009d): 1920x1080, num_mfn 0x7ea off 0x10
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
shmimage for 0x4200070(remote 0x1000024), x: 504, y: 1, w: 203, h: 347
do_shm_update for 0x4200070(remote 0x1000024), after border calc: x=504, y=1, w=203, h=347
shmimage for 0x42000f1(remote 0x100009d), x: 0, y: 0, w: 250, h: 424
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
xside: win 0x4200070(0x1000024) type=5 button=1 x=513, y=11
# ..........................................................................................
# Did not work #2; blank
invalid PMinSize for 0x42000f1 (0/0)
invalid PMaxSize for 0x42000f1 (0/0)
invalid PResizeInc for 0x42000f1 (0/0)
invalid PBaseSize for 0x42000f1 (0/0)
set WM_NORMAL_HINTS for window 0x42000f1 to min=0/0, max=0/0, base=0/0, inc=0/0 (flags 0x5)
handle_configure_from_vm, local 0x42000f1 remote 0x100009d, 250/424, was 250/424, ovr=1, xy 1670/214, was 1670/214
MSG_MFNDUMP for 0x42000f1(0x100009d): 1920x1080, num_mfn 0x7ea off 0x10
# ..........................................................................................
# Worked ?
invalid PMinSize for 0x42000f1 (0/0)
invalid PMaxSize for 0x42000f1 (0/0)
invalid PResizeInc for 0x42000f1 (0/0)
invalid PBaseSize for 0x42000f1 (0/0)
set WM_NORMAL_HINTS for window 0x42000f1 to min=0/0, max=0/0, base=0/0, inc=0/0 (flags 0x5)
MSG_MFNDUMP for 0x42000f1(0x100009d): 250x424, num_mfn 0x69 off 0xa18
shmimage for 0x42000f1(remote 0x100009d), x: 0, y: 0, w: 250, h: 424
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
# ..........................................................................................
invalid PMinSize for 0x42000f1 (0/0)
invalid PMaxSize for 0x42000f1 (0/0)
invalid PResizeInc for 0x42000f1 (0/0)
invalid PBaseSize for 0x42000f1 (0/0)
set WM_NORMAL_HINTS for window 0x42000f1 to min=0/0, max=0/0, base=0/0, inc=0/0 (flags 0x5)
handle_configure_from_vm, local 0x42000f1 remote 0x100009d, 250/424, was 250/424, ovr=1, xy 1670/214, was 1670/214
MSG_MFNDUMP for 0x42000f1(0x100009d): 1920x1080, num_mfn 0x7ea off 0x10
invalid PMinSize for 0x42000f1 (0/0)
invalid PMaxSize for 0x42000f1 (0/0)
invalid PResizeInc for 0x42000f1 (0/0)
invalid PBaseSize for 0x42000f1 (0/0)
set WM_NORMAL_HINTS for window 0x42000f1 to min=0/0, max=0/0, base=0/0, inc=0/0 (flags 0x5)
MSG_MFNDUMP for 0x42000f1(0x100009d): 250x424, num_mfn 0x69 off 0xa18
shmimage for 0x4200070(remote 0x1000024), x: 425, y: 1, w: 116, h: 25
do_shm_update for 0x4200070(remote 0x1000024), after border calc: x=425, y=1, w=116, h=25
# ..........................................................................................
shmimage for 0x42000f1(remote 0x100009d), x: 0, y: 0, w: 250, h: 424
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
nrgaway
commented
Jul 7, 2015
|
This is a partial log containing one windows, a menu window; I removed all other windows from log. When first clicked, a window does appear, but is blank. Then I click on another top menu, it also appears blank. Finally, I re-click the original menu that was blank and it now appears. It does appear to be creating the window.
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
Jul 7, 2015
I created a gist: Debug Qubes 3 KDE/Qt drop-down and popup menu in fedora 21
it contains the complete log file and a step by step description of what I have done.
Jeeppler
commented
Jul 7, 2015
|
I created a gist: Debug Qubes 3 KDE/Qt drop-down and popup menu in fedora 21 it contains the complete log file and a step by step description of what I have done. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
Jul 7, 2015
QHexEdit a small HexEditor which uses Qt 5.4 does not have any issues with drop-down menus or popups.
Jeeppler
commented
Jul 7, 2015
|
QHexEdit a small HexEditor which uses Qt 5.4 does not have any issues with drop-down menus or popups. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 7, 2015
Member
On Tue, Jul 07, 2015 at 03:24:17AM -0700, nrgaway wrote:
Did not work #1; blank
Created 0x42000f1(0x100009d) parent 0x0(0x176) ovr=0 x/y 1670/214 w/h 250/424
Window size is 250x424...
MSG_MFNDUMP for 0x42000f1(0x100009d): 1920x1080, num_mfn 0x7ea off 0x10
... but its content have size 1920x1080...
do_shm_update for 0x42000f1(remote 0x100009d), after border calc: x=2, y=2, w=246, h=420
... and then (since dom0 thinks the window is 250x424), only part of
that window is displayed. And probably that part is blank.
shmimage for 0x4200070(remote 0x1000024), x: 504, y: 1, w: 203, h: 347
do_shm_update for 0x4200070(remote 0x1000024), after border calc: x=504, y=1, w=203, h=347
shmimage for 0x42000f1(remote 0x100009d), x: 0, y: 0, w: 250, h: 424
But here, VM sends an info about window size 250x424.
So somewhere in between window image size in VM has changed. Or
application shows just part of the window (partially transparent
window?). Can you check xwininfo output in VM on that window (id pointed as
"remove" here)? Especially what is the real window size.
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
On Tue, Jul 07, 2015 at 03:24:17AM -0700, nrgaway wrote:
Window size is 250x424...
... but its content have size 1920x1080...
... and then (since dom0 thinks the window is 250x424), only part of
But here, VM sends an info about window size 250x424. Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
commented
Jul 7, 2015
|
What do I have to do to get the xwininfo output of the VM window? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 7, 2015
Member
Open terminal in a VM, then run xwininfo -id ID_OF_WINDOW (replace
ID_OF_WINDOW with the proper value).
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
Open terminal in a VM, then run Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
Jul 10, 2015
Hello,
I used KDevelop to create the output, this is another session. In this case the id is different.
xwininfo -id 0x120001c
xwininfo: Window id: 0x120001c "default: KDevelop"
Absolute upper-left X: 0
Absolute upper-left Y: 21
Relative upper-left X: 0
Relative upper-left Y: 21
Width: 1920
Height: 1024
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+21 -0+21 -0-35 +0-35
-geometry 1920x1024+0+21
@marmarek I hope this is what you wanted, if not say something!
Jeeppler
commented
Jul 10, 2015
|
Hello, xwininfo -id 0x120001c xwininfo: Window id: 0x120001c "default: KDevelop" Absolute upper-left X: 0 @marmarek I hope this is what you wanted, if not say something! |
added a commit
to marmarek/old-qubes-gui-agent-linux
that referenced
this issue
Jul 11, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 11, 2015
Member
Ok, so the window size is not the whole screen. I think the application
can initialize window content after making the window visible, which
expose gui-agent to some race condition.
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
Ok, so the window size is not the whole screen. I think the application Best Regards, |
marmarek
added
bug
C: gui-virtualization
labels
Jul 11, 2015
marmarek
self-assigned this
Jul 11, 2015
marmarek
added this to the Release 3.0 milestone
Jul 11, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 11, 2015
Member
Try package qubes-gui-vm-3.0.7-1.1.fc21 just uploaded to
qubes-vm-r3.0-unstable repositrory. It contains patch referenced above.
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
Try package qubes-gui-vm-3.0.7-1.1.fc21 just uploaded to Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
Jul 11, 2015
I tried the patched package qubes-gui-vm-3.0.7-1.1.fc21
I have not seen any visible errors after a quick test. It seems that the patch works create.
I have attached the log and description of what I have done for the testing in a gist:
https://gist.github.com/Jeeppler/b380641612aebe5f9b5d
NOTICE: Only tested under fedora 21
Jeeppler
commented
Jul 11, 2015
|
I tried the patched package qubes-gui-vm-3.0.7-1.1.fc21 I have attached the log and description of what I have done for the testing in a gist: NOTICE: Only tested under fedora 21 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nrgaway
Jul 12, 2015
On 11 July 2015 at 00:00, Marek Marczykowski-Górecki <
notifications@github.com> wrote:
Try package qubes-gui-vm-3.0.7-1.1.fc21 just uploaded to
qubes-vm-r3.0-unstable repositrory. It contains patch referenced above.
The patch works for me too. Thank you.
I suppose I will test the patch with Debian as well if it's available from
your repo.
nrgaway
commented
Jul 12, 2015
|
On 11 July 2015 at 00:00, Marek Marczykowski-Górecki <
The patch works for me too. Thank you. I suppose I will test the patch with Debian as well if it's available from |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
commented
Jul 13, 2015
|
Where can I find the patched version for debian? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 13, 2015
Member
Debian package uploaded to unstable repo (need to be uncommented in
repo definitions).
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
Debian package uploaded to unstable repo (need to be uncommented in Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nrgaway
Jul 13, 2015
Is qubes-gui-agent_3.0.7+jessie~devel1_amd64.deb the unstable package you uploaded? If so, it will not install since there is already a version 3.07 installed qubes-gui-agent_3.0.7+jessie1_amd64.deb. The devel in the package name is seen as a lesser version than what is installed.
So, I'm thinking we would either need to bump the version to 3.0.8~devel or convert qubes-gui-agent to also use rel as in 3.0.7-2 instead of '3.0.7, but that would mean switching the versioning over for Fedora as well. If you want to go this route, I can convert the package, but I assume you will most likely choose the option of bumping the version to 3.0.8:)
qubes-gui-agent:
Installed: 3.0.7+jessie1
Candidate: 3.0.7+jessie1
nrgaway
commented
Jul 13, 2015
|
Is So, I'm thinking we would either need to bump the version to 3.0.8~devel or convert
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 13, 2015
Member
On Mon, Jul 13, 2015 at 07:56:37AM -0700, nrgaway wrote:
Is
qubes-gui-agent_3.0.7+jessie~devel1_amd64.debthe unstable package you uploaded? If so, it will not install since there is already a version 3.07 installedqubes-gui-agent_3.0.7+jessie1_amd64.deb. Thedevelin the package name is seen as a lesser version than what is installed.
This means that unstable repository on debian is almost useless... The
purpose of this repository is to upload package not yet decided whether
the change there will end up in mainline. This is why the base version
of package is not increased.
Can you change debian versioning scheme the way that "devel" packages
will be considered newer than "stable"? I'm not an expert on debian
versioning scheme, but maybe simply another suffix, like +devel, or so?
Anyway, for now, can you simply downgrade that that devel package for
testing? If the change works well also on Debian, I'll release it as
3.0.8.
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
|
On Mon, Jul 13, 2015 at 07:56:37AM -0700, nrgaway wrote:
This means that unstable repository on debian is almost useless... The Can you change debian versioning scheme the way that "devel" packages Anyway, for now, can you simply downgrade that that devel package for Best Regards, |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
commented
Jul 14, 2015
|
the downgrade command is: apt-get install qubes-gui-agent=3.0.7+jessie~devel1 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
Jul 14, 2015
I tested the fixed qubes-gui-agent. There was no visible error.
For more information have a look at this gist: https://gist.github.com/Jeeppler/5353370fdeff2ffc56c3
Jeeppler
commented
Jul 14, 2015
|
I tested the fixed qubes-gui-agent. There was no visible error. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
#1061 is a duplicate of this? This is how this bug can look like? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
nrgaway
Jul 14, 2015
On 13 July 2015 at 11:16, Marek Marczykowski-Górecki <
notifications@github.com> wrote:
On Mon, Jul 13, 2015 at 07:56:37AM -0700, nrgaway wrote:
Is
qubes-gui-agent_3.0.7+jessie~devel1_amd64.debthe unstable package
you uploaded? If so, it will not install since there is already a version
3.07 installedqubes-gui-agent_3.0.7+jessie1_amd64.deb. Thedevelin
the package name is seen as a lesser version than what is installed.This means that unstable repository on debian is almost useless... The
purpose of this repository is to upload package not yet decided whether
the change there will end up in mainline. This is why the base version
of package is not increased.Can you change debian versioning scheme the way that "devel" packages
will be considered newer than "stable"? I'm not an expert on debian
versioning scheme, but maybe simply another suffix, like +devel, or so?
I will look into it. If thee is not a great solution we could modify the
build scripts to bump the minor version number or release on a devel build.
Anyway, for now, can you simply downgrade that that devel package for
testing? If the change works well also on Debian, I'll release it as
3.0.8.
Ya, I just manually installed the .deb. I have been using it for a day on
both Fedora 21 and Debian 8 without any apparent issues and it has solved
the display errors as stated in topic.
nrgaway
commented
Jul 14, 2015
|
On 13 July 2015 at 11:16, Marek Marczykowski-Górecki <
I will look into it. If thee is not a great solution we could modify the
Ya, I just manually installed the .deb. I have been using it for a day on |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Jeeppler
commented
Jul 14, 2015
|
@adrelanos exactly this is how the bug looks like. |
added a commit
to marmarek/old-qubes-gui-agent-linux
that referenced
this issue
Jul 14, 2015
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 14, 2015
Member
The fixed package v3.0.8 is now uploaded to testing repository (both Fedora and Debian)
|
The fixed package v3.0.8 is now uploaded to testing repository (both Fedora and Debian) |

nrgaway commentedJul 6, 2015
I noticed in Fedora fc21 and Debian 8 that some QT applications are not updating screen reliably. For instance when selecting a menu, the menu popup region is blank. Usually you can highlight the next menu and then go back to the menu that did not draw and it will re-draw properly the second time.
This happens for popup hints in my WingIDE debugger as well and sometimes I need to move the window for it to re-draw when starting an application.
I think it may be solvable via xsettingsd configuration as I have been able to fix the issue when testing, just have not found the right combination of settings to implement.