Giter Club home page Giter Club logo

Comments (6)

abooij avatar abooij commented on July 28, 2024

The weston-simple-dmabuf-intel issue is caused by us not actually creating Proxy objects when we receive a message with a new_id argument.

I think I'll leave the (new) weston-flower issue for now, and hopefully fix it by implementing #6.

from sudbury.

abooij avatar abooij commented on July 28, 2024

I re-generated cbits/wayland-protocol.c (from the libwayland code) and added it. This resolves the weston-flower issue. But it really is a workaround since we should have had version checks or something. Something ran that shouldn't.

The underlying issue was that weston-flower used some kind of message that was only in this newer version. But since we were using an older version without that message, it grabbed a random piece of memory, that eventually resulted in this error.

If we check protocol versions between the library and the user, this might be a problem we can catch earlier. See issue #10.

from sudbury.

abooij avatar abooij commented on July 28, 2024

I suspect the remaining two bugs (segfaults) are actually a GHC bug. See e.g. this (solved) GHC STM bug.

from sudbury.

abooij avatar abooij commented on July 28, 2024

Ah. They are not, in fact!

One source was a potential null pointer (which we now deal with). Another is caused by the fact that we do not deal with object destruction. This will be fixed as well.

from sudbury.

abooij avatar abooij commented on July 28, 2024

The remaining issue with weston-dnd is caused by us completely forgetting about objects that we destroy. When the server subsequently sends us a message on that object, we don't know how to handle the incoming data.
To fix this, we need to remember protocol data of objects that are destroyed on our end, and only discard it after the server has sent a delete_id event to confirm destruction.

In fact, it seems that libwayland has a bug here: if the server sends an event containing an fd on an object that the client has deleted, the fd stream gets out of sync because fds are read in wl_connection_demarshal, which is not called on objects that are already destroyed by the client.

from sudbury.

abooij avatar abooij commented on July 28, 2024

All clients now run correctly, as far as I can see. Please open a new bug report if you spot any broken clients (weston demo clients or otherwise).

from sudbury.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.