Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
mesa
mesa
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2,374
    • Issues 2,374
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 655
    • Merge Requests 655
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Mesa
  • mesamesa
  • Issues
  • #98

Closed
Open
Opened Sep 18, 2019 by Bugzilla Migration User@bugzilla-migration

glXSwapIntervalMESA crashes when making use of GLX_MESA_multithread_makecurrent

Submitted by James Legg

Assigned to mes..@..op.org

Link to original bug (#89562)

Description

Created attachment 114264 test case

If two threads have the same current glX context, as permitted by GLX_MESA_multithread_makecurrent, then calling glXSwapIntervalMESA results in invoking dri2SetSwapInterval with the pdraw argument set to NULL. dri2SetSwapInterval then dereferences pdraw, causing a segmentation fault. The attached program reproduces this.

You can also reproduce the same crash by letting a thread exit with a context bound and then making the context current on another thread and calling glXSwapIntervalMESA there (this seems a bit dirty, but if there is no requirement to unbind GL contexts before exiting threads, then this method doesn't require GLX_MESA_multithread_makecurrent). If you add -DTEST2 to the compiler flags when compiling the attached file, this crash will be reproduced instead.

This affects at least Mesa 10.4.3, 10.5, and git master at revision 48b0a3c1.

Attachment 114264, "test case":
multithreaded_make_current_and_glXSwapIntervalMesa.cc

Version: git

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: mesa/mesa#98