Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gtk3 > 3.24.10 crash during opengl probing #2822

Closed
totaam opened this issue Jun 27, 2020 · 5 comments
Closed

gtk3 > 3.24.10 crash during opengl probing #2822

totaam opened this issue Jun 27, 2020 · 5 comments
Labels

Comments

@totaam
Copy link
Collaborator

totaam commented Jun 27, 2020

We had to revert the upgrade from 3.24.10 to 3.24.14: r25870.

We also cannot upgrade to gtk 3.24.20 as the bug is still present in this version.
So the moduleset update included in r26824 (+r26825) causes the opengl crash to occur again.

We need to bisect it and then patch it + submit upstream.

Sadly, the GTK diffstat is absolutely humongus:

bash-3.2$ diff -urN gtk+-3.24.10 gtk+-3.24.11/| wc -l
  278974
bash-3.2$ diff -urN gtk+-3.24.11 gtk+-3.24.12/| wc -l
  532742
bash-3.2$ diff -urN gtk+-3.24.12 gtk+-3.24.13/| wc -l
  914936
bash-3.2$ diff -urN gtk+-3.24.13 gtk+-3.24.14/| wc -l
 1284698
  • 3.24.10 OK
  • 3.24.11 OK
@totaam
Copy link
Collaborator Author

totaam commented Jun 27, 2020

  • 3.24.12 OK
  • 3.24.13 build fails:
  CC       gdkglobals-quartz.lo
/Users/macos/gtk/source/gtk+-3.24.20/gdk/quartz/gdkdnd-quartz.c:24:10: fatal error: 'gdkquartz-gtk-only.h' file not found
#include "gdkquartz-gtk-only.h"
  • 3.24.14 bad

So somewhere between:

@totaam
Copy link
Collaborator Author

totaam commented Jun 28, 2020

bash-3.2$ git bisect new fab213a5f93c5624ed62a949ea6f93c8f2a3a591
You need to start by "git bisect start"
Do you want me to do it for you [Y/n]? y
bash-3.2$ git bisect old 075dcc142aa525778268165095de019b736f3efa
Bisecting: 123 revisions left to test after this (roughly 7 steps)
[40264c7ab30d307996799e0ed70ce6a7d6ba1d31] ci: Add libXtst-devel

But then we hit lots of failures to build when using these git checkouts, those don't happen with the release snapshots! Why?
ie:

  CC       libgtk_3_la-gtkdbusgenerated.lo
make[3]: *** No rule to make target '/Users/macos/gtk/source/gtk+-3.24.20/gtk/gtkresources.c', eded by 'libgtk_3_la-gtkresources.lo'.  Stop.
make[3]: *** Waiting for unfinished jobs....

What's the trick?

@totaam
Copy link
Collaborator Author

totaam commented Jun 28, 2020

Bisection "fixed" by just adding the missing files from the working archives:

cp ../pkgs/gtk-bug/gtk+-3.24.14/gtk/gtktypebuiltins.c ../gtk+-3.24.20/gtk/
cp ../pkgs/gtk-bug/gtk+-3.24.14/gtk/gtkresources.c ../gtk+-3.24.20/gtk/
cp ../pkgs/gtk-bug/gtk+-3.24.14/gtk/gtkmarshalers.c ../gtk+-3.24.20/gtk/
cp ../pkgs/gtk-bug/gtk+-3.24.14/gtk/gtkprivatetypebuiltins.c ../gtk+-3.24.20/gtk/

Then just skip building "demos" etc

And the problem commit is (large) https://gitlab.gnome.org/GNOME/gtk/commit/f0002ad37250cd851463e9bc9fde83f393cd12bd which was merged here: https://gitlab.gnome.org/GNOME/gtk/commit/ef72fe750adca51590b8c94a2e6c56cac32c2173

Reverting this commit on top of 3.24.20 does work.

@totaam
Copy link
Collaborator Author

totaam commented Jun 28, 2020

2020-06-28 16:49:40: antoine uploaded file report.txt (77.9 KiB)

macos crash report

@totaam
Copy link
Collaborator Author

totaam commented Jun 28, 2020

Solved by reverting the faulty patch in r26837.

Asked upstream about a better solution: https://gitlab.gnome.org/GNOME/gtk/-/issues/1737#note_852144

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant