Picture Player can crash on exiting Pic_Full_View

Issue #376 resolved
prl created an issue

There seems to be a narrow race condition where Pic_Full_View.slideTimer's callback function can be called after Pic_Full_View.Exit() has been called and deleted Pic_Full_View.picload.

This then causes a crash when the callback tries to access Pic_Full_View.picload to start decoding the next picture.

The bug can probably be fixed by stopping Pic_Full_View.slideTimer before Pic_Full_View.picload is deleted in Pic_Full_View.Exit().

Crash log attached.

Reproduction steps

From Live TV, MENU>Photos, select a folder with pictures, and then highlight a picture in the folder.

Start a slide show by pressing OK. Then press EXIT.

Because this seems to be a race condition, its appearance is intermittent, and you may need to start/stop the slide show several times to see the crash.

Comments (3)

  1. prl reporter

    Pic_Thumb seems to have a similar problem with the callback function for Pic_Thumb.ThumbTimer.

  2. Peter Urbanec

    Fix Bug #376: Picture Player can crash on exiting Pic_Full_View

    In [Pic_Full_View] and [Pic_Thumb], stop timers whose callbacks may access self.picload before self.picload is deleted. This prevents a race condition that can have the callback called after self.picloadhas been deleted.

    → <<cset 0d423753ce79>>

  3. Log in to comment