← Back to team overview

ubuntu-phone team mailing list archive

Re: Page sections and corrupted stacks

 

Hi Robert,

Like in Python, crashes with QML code are also not common. I wrote the code
for displaying the sections in the header and it is all QML. From the fix
you proposed, it appears that selectedIndex (and sort) property is
undefined some times. Are you using the value of that property somewhere in
C++?

A simpler test program to reproduce the issue would be very helpful. This
month I am going to factor out some code from the PageHeadStyle, and create
a separate component for the sections, so then I can look into this issue
as well, and perhaps it will make it easier to debug. It is difficult to
tell where the bug is, but if it appears to come from UITK, can you report
it as a bug here https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit so
we can report future findings about the cause there also?

Thanks,
Tim.

On Sun, Apr 12, 2015 at 11:13 PM, Robert Schroll <rschroll@xxxxxxxxx> wrote:

> Hi all,
>
> I've got a Sunday afternoon / evening / night / I-live-in-Asia-you-insensitive-clod
> puzzler for you.
>
> I've been working on the ebook reader Beru, and I've been getting crashes
> on start about 50% of the time.  I'd been hoping that this was just related
> to launching from Qt Creator.  But I tried installing it and still got
> crashes about half the time I launched it.
>
> So, I dug out the instructions for running under gdb, got a crash, and
> discovered the stack had been corrupted.  Poor little Python-loving me
> didn't even know that this was a thing that could happen!
>
> I bisected to find the problem commit, and discovered that it was when I
> added sections to the first page in my page stack.  Obviously this couldn't
> be the problem, but I removed the sections just to check.  And the crash
> went away.
>
> Once I saw that, it was obvious that the problem was in my handler for
> changing the selected section.  So I removed the handler (making the
> sections affect nothing), and the crash remained!
>
> To try to separate the crash from the general hubbub of initialization, I
> removed the sections from the Page head, and set them procedurally after
> everything was loaded.  Obviously, this wouldn't make a difference.  But it
> stopped the crashes.
>
> So far, I'm batting 0-for-3 on this one.  So I'd like to hear if any of
> you have an idea what's going on.  For now, delaying setting the sections
> is working, but I have a feeling that I'm jut hiding a bug.  I'd like to
> find and fix it, or at least assure myself that this is a sensible
> work-around.
>
> I haven't managed to come up with a simple test case yet.  A basic
> page-with-sections test works just fine, so it has something to do with all
> the other things going on.  Here's the problematic commit [1], the solution
> commit [2], and a bug report with some more info [3].  You're welcome to
> reply to the bug if you'd rather not do this over the list.
>
> Thanks,
> Robert
>
> [1] https://github.com/rschroll/beru/commit/9f8a299d0ecc5c6454e0b2b5d8f54a
> 883b4b3328
> [2] https://github.com/rschroll/beru/commit/4d521b66e83596ce2a6cb9587e523b
> ae1db0a1d4
> [3] https://github.com/rschroll/beru/issues/82
>
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References