fixed bug in wl_list

Kristian Høgsberg krh at bitplanet.net
Sat Mar 12 19:11:46 PST 2011


2011/3/12 Iskren Chernev <iskren.chernev at gmail.com>:
> Well, with your patch it doesn't seem to crash. There is also no list
> corruption, as far as I could test it :)

Excellent, thanks for tracking this down.

Kristian

> Regards,
> Iskren
>
> 2011/3/13 Kristian Høgsberg <krh at bitplanet.net>
>>
>> On Fri, Mar 11, 2011 at 7:32 PM, Iskren Chernev
>> <iskren.chernev at gmail.com> wrote:
>> > Hello,
>> > I found a bug and fixed it with the patch :)
>> > to reproduce:
>>
>> Hi,
>>
>> I wasn't able to reproduce it immediately, but I know that there's a
>> crasher in there somewhere.  I think the real fix is the patch I've
>> attached, could you give it a try and see if it fixes it for you?
>>
>> thanks,
>> Kristian
>>
>> > run compositor on top of x11
>> > repeat
>> >    run flower
>> >    drag & drop it a little
>> >    move the pointer in and out of the compositor/flower
>> >    Ctrl+C the flower client
>> > it would break eventually
>> > problem:
>> > I found that the linked list surface->destroy_listener_list got
>> > corrupted at
>> > some point (it was not circular any more, strange next/prev etc), which
>> > causes the crash.
>> > solution:
>> > The problem was in wl_list_remove -- when you erase an element, you
>> > don't
>> > mark it as 'erased', by setting prev/next to NULL for example. Then if
>> > you
>> > erase it again the list becomes corrupt. I nullified the prev/next and
>> > check
>> > in the begining of wl_list_remove for not-in-list elements and just
>> > ignore
>> > them. That seems to fix it.
>> > Regards,
>> > Iskren
>> > _______________________________________________
>> > wayland-devel mailing list
>> > wayland-devel at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>> >
>> >
>
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
>


More information about the wayland-devel mailing list