Summary: | nvc0 occasionally crashes in glDrawArrays in a multi-threaded/multi-context app | ||
---|---|---|---|
Product: | Mesa | Reporter: | Suzuki, Shinji <shinji.suzuki> |
Component: | Drivers/DRI/nouveau | Assignee: | Nouveau Project <nouveau> |
Status: | RESOLVED MOVED | QA Contact: | Nouveau Project <nouveau> |
Severity: | normal | ||
Priority: | medium | CC: | fdsfgs |
Version: | 11.2 | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 92077 | ||
Bug Blocks: |
Description
Suzuki, Shinji
2016-08-29 20:41:11 UTC
Does the app ever draw from multiple threads at once (into separate contexts)? If so, it's a known isse. You can use this branch, it may help: https://github.com/imirkin/mesa/commits/locking Yes, each thread writes to its own context without any explicit synchronization other than GL-fences to synchronize access on shared resources (texture and PBO) with. Thank you for the info. I'll examine the branch and wet my feet in building mesa myself. I managed to have glxinfo run with newly built libs through the use of LIBGL_DRIVERS_PATH and LD_LIBRARY_PATH env-vars. But once I copy them to the system dir (/usr/lib/x86_64_linux_gnu/{|mesa|dri}) and reboot then ibus-ui-gtk3 fails to load due to segfault. Since the libs also have an issue that glxinfo shows incorrect values for "Max core profile version" and "Max compat profile version", "OpenGL shading language version string", I guess I'd give Ubuntu 16.10 a try. (In reply to shinji.suzuki from comment #3) > I managed to have glxinfo run with newly built libs through the use of > LIBGL_DRIVERS_PATH and LD_LIBRARY_PATH env-vars. But once I copy them to the > system dir (/usr/lib/x86_64_linux_gnu/{|mesa|dri}) and reboot then > ibus-ui-gtk3 fails to load due to segfault. Since the libs also have an > issue that glxinfo shows incorrect values for "Max core profile version" and > "Max compat profile version", "OpenGL shading language version string", I > guess I'd give Ubuntu 16.10 a try. Just run the application in question with LD_LIBRARY_PATH=... (note - using LIBGL_DRIVERS_PATH is highly unadvisable unless you *really* know what you're doing. Just build with some prefix, install, and point LD_LIBRARY_PATH at that.) Anyways, if doing your own mesa build is beyond your powers that's fine. We can keep this open and I can assume it'll magically get fixed when I get around to finishing up those locking patches. Looks like this is related to broken multi-threading in nouveau, see linked bugs. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1110. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.