LCD display contents corruption



  • Hello all,

    I am facing a strange problem.

    I have a Qt application developed for my program.

    Platform details:
    Qt 4.8.4
    TI Sitara Am3358 based hardware

    It works good on a short run.

    But on a long run ( Time is not deterministic, but issue was observed in 16- 20 hours ), I see that some of the screens are having corrupted content.

    Screen 1 -

    Custom Keypad UI - One can see that some of buttons are not displaying the text on it. Interestingly, '8' is totally distorted. And if I press the keys, the values are taken correctly.

    0_1517827660882_Screen1.jpg

    Screen 2 -
    Missing some of characters. Even text is getting reorganized.
    Example: I want to display "Information". After the corruption issue, I can see that it shows as 'Inatin', missing few characters. And every time I see the corruption, not the same characters are getting missed.
    0_1517827678850_Screen2.jpg

    Screen 3 -
    In some screens, I see the black 'patches'. And those patches remain in the same window.

    0_1517827694080_Screen3.jpg

    I have run the same application in 4 boards and one board has this problem. But this is not consistent. On one another long run, I could see a different board showing the similar problem.

    Any clues on debugging such problems?
    Is framebuffer getting corrupted?
    Is display driver behaving differently?

    I have no idea.

    Please help me out in this regard.

    Thank you,
    Kumara



  • Just an idea: slow memory leak causing the system to behave erratically, and at some point corrupting the system.
    Black areas could possible also be a result of for example heat and you can probably notice if the display runs too hot - and check for that by rebooting the system and seeing how soon the problem reappears.



  • @kumararajas have you try running some other (not based on Qt) application using such LCD display for the same long time? Same behavior? Just to rule out that you don't have a hardware problem, as @mvuori already suggested



  • @mvuori Thank you for the response.

    After reboot, I can see that display gets normal.
    I did also check the available memory using /proc/meminfo, I can see that, I have around 12 mb of free RAM. Is that sufficient?



  • @Pablo-J.-Rogina I haven't run any other application on my test bench yet. I will have to do that.



  • Further to this post, I continued to analyse the problem.

    I wanted to isolate the problem around framebuffer-display driver. I did convert the framebuffer contents to an image to verify what is being displayed in the LCD. I see that, frame buffer contents exactly matches with what is being displayed. So looks like, as @mvuori mentioned, there could be memory leaks which might contribute for this problem.

    Today I am going to run valgrind by attaching my application and run overnight and see if there are any leaks in the system.



  • Any more thoughts on this problem?

    @SGaist Any comments?


  • Lifetime Qt Champion

    Hi,

    What backend are you using ?



  • @SGaist Can you please explain a bit more on what you meant by backend?
    Linux based system built on AM3358 TI Sitara with Qt 4.8.4. Is that what you have meant Sam?


  • Qt Champions 2016

    @kumararajas

    Hi
    backend info could also include if you are using X11, or directFB or
    which method is used for the gfx part / display manager etc.



  • @mrjj Thanks for the explanation.

    Since this is Embedded Qt, I am don't think it involves X11. I believe that, it uses Linux framebuffer for the rendering.



  • Hi guys!

    I should share the good news.
    This problem is pretty close to what @mvuori pointed out. I did run a valgrind and I could see lot of leaks.
    Instead of focusing on fixing the leaks, I did add a piece of code to leak more memory more often. This was to flood the memory. I can see that, UI contents gets corrupted after the memory gets full.

    And the black spots / patches on the screen are also linked with the same problem.

    So I think this solves the problem. I should build a clean system without memory leaks!

    Thanks a lot guys! Special thanks to @mvuori for giving the right clue! I will be happy to mark this post as solved.

    --Kumara



  • @kumararajas said in LCD display contents corruption:

    So I think this solves the problem. I should build a clean system without memory leaks!

    That should generally be your goal oO

    I'm glad you were able to narrow the issue down, good luck hunting those leaks.



  • @J.Hilk Thank you :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.