processing / processing/processing4
Figure out why appbundler breaks OpenGL when built on Catalina and later
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 494
- Forks
- 183
- Ø Merge
- 4 Std. 39 Min.
- Gemergte PRs (30 T.)
- 3
Beschreibung
Created by: benfry
As seen in #249, Export to Application was broken in alpha 5 and beta 1. This was after the native code for JavaApplicationStub was built on Catalina or Big Sur. Using a Mojave machine got things working again.
As can be seen in #249, it seems to be a threading issue (GL seems to be running on the wrong thread). I suspect there's something bad in our code, and that the Catalina/Big Sur change is just revealing it. Can someone help us find it?
It's also not a problem in our fork of appbundler: recompiling with the latest upstream source (on Big Sur) led to the same crash.
It's also possible that the macOS SDK has had a change with with regards to app threads. The -XstartOnFirstThread [parameter](https://www.google.com/search?q='Reference to deleted milestone 22'-xstartonfirstthread%22) is a very real thing on macOS, where app threads are Thinked Differently than on other platforms.
To dig into this issue:
cd build/macosx/appbundler
ant
cd ../..
ant run
Then open an OpenGL sketch, Export to Application, and watch as it crashes on startup. Behold the confusing stack trace. Or perhaps if you have more macOS development experience, become invigorated by the challenge of un-mucking this Java/macOS integration.
(Edited for clarification)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in build/macosx/appbundler und führe ant aus. Führe dann aus dem übergeordneten build-Verzeichnis ant run aus. Öffne einen OpenGL-Sketch und verwende Export to Application, um den Absturz beim Start zu reproduzieren und seinen Stacktrace zu untersuchen. Die Aufgabe ist abgeschlossen, wenn exportierte OpenGL-Anwendungen ohne den threading-bezogenen Absturz unter Catalina oder Big Sur starten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, macos
- Bereich
- build-system, desktop
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100