I'm working on a Roku 3, model 4200X running 5.6 build 60.
The crash occurs after I go back to the grid screen and try to update it based on some conditions.
I've just narrowed the crash down to a call to
screen.setListVisible(int, bool)
When I comment out that one line, everything is fine. Also, when I call that in the debug console, the first event message I get back matches the index and data values that precede the crash (although I don't crash when I call them in the console).
Interestingly, the crash seems to occur when either:
1) I enter the channel, sign in, and my collection comes back empty and so the row is hidden: screen.setListVisible(2, false)
2) I enter the channel already authenticated with an empty collection (so I hide the row via screen.setListVisible(2, false) before calling screen.Show() without a crash), navigate to a poster screen for an object, add it to my collection, and then go back to the initial grid screen. When the row switches from not visible to visible I crash: screen.setListVisible(2, true)
It does not crash if I already have something in my collection (the row is visible), add a new object, and go back to the grid screen, even though the same code runs when I go back as it does for case #2 above. Presumably, this is because I'm not changing the visibility of the row when I call screen.setListVisible(2, true).
So it seems like the crash occurs when I make a call to screen.setListVisible() while I'm inside the event listen loop ( eg. after I call screen.Show() ) and it changes the visibility of the row. I'm wondering if there's a render race that's happening and it chokes, since the crash occurs while images are trying to render. I'm going to try changing the order of some things and see if that has an affect.