Monday, June 18, 2018

Linux Window Bug Still Exists

Date: 6/18/2018

Author: Tyler Murray

The previous week, I been trying to fix a bug on Linux side that existed before the day I started Gateware. The bug is that the user will have to click on/off the windows generated to have the application proceed through the unit tests. During this week I managed to fix a lot of these hangs, now all that remains to one hang spot. By removing XFlushs & XSyncs it no longer wipes the events in the queue of the server side. Which caused some of the hangs since the xlib functions we were using required a reply by the server and if the server was wiped then it never knows about needing to send a reply. Secondly I had to go through and place XLockDisplay/XUnlockDisplay functions in GWindow & GOpenGLSurface since you need to make sure the display AKA the server connection doesn't get altered while functions that use the display are being used. Otherwise the application will hang since the display was changed/altered/being used else where when it reaches a display function.
But if you place these Locks and Unlocks our GListeners and Linux's Event system won't work properly. Removing the locks/unlocks the event systems + GListeners work but reintroduces the hangs. I have to do more research to find either another solution or a way have these locks/unlocks and have the event system to still be responsive.

This week, I have to start writing documentation, such as "The Release Process", "Windows Memory Leak Detection", Mac Memory Leak Detection", Linux Memory Leak Detection", ".GitKraken Tips", and any other documentation needed to be created as the week progresses. After I finish the documentation and the Presentation, I will like to go back a try to solve this bug before I leave.

No comments:

Post a Comment