Comments (6)
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.
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.
I suspect the remaining two bugs (segfaults) are actually a GHC bug. See e.g. this (solved) GHC STM bug.
from sudbury.
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.
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.
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)
- Version checks infrastructure
- Implement object lifetime tracker HOT 1
- Make project more inviting for developers HOT 2
- Status of sudbury HOT 3
- Build error when building against template-haskell-2.10.0.0 HOT 1
- v0.1.0.0 release preparations
- Use concurrent-extra's STM lock to lock the fd for reading/writing
- Setup ABI tracker
- Example code for a client HOT 5
- Commit access for cool contributions HOT 1
- Rewrite singleton data types HOT 1
- since field for enums HOT 1
- Extract the juices HOT 2
- C struct refactoring?
- Is this project dead HOT 3
- Efficient binary serialization HOT 5
- Test suite HOT 2
- Add sudbury support to mesa? HOT 1
- Fix error handling HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sudbury.