Windows: Assertion in gsk_ngl_uniform_state_init_value()
I have built gtk master with MSVC (see instructions here https://www.collabora.com/news-and-blog/blog/2021/03/18/build-and-run-gtk-4-applications-with-visual-studio/). gtk4-demo.exe crash at startup with this backtrace:
ucrtbase.dll!00007ff82de2286e()
glib-2.0-0.dll!g_abort() Line 3117
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\glib\gutils.c(3117)
glib-2.0-0.dll!g_assertion_message(const char * domain, const char * file, int line, const char * func, const char * message) Line 3052
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\glib\gtestutils.c(3052)
glib-2.0-0.dll!g_assertion_message_expr(const char * domain, const char * file, int line, const char * func, const char * expr) Line 3079
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\glib\gtestutils.c(3079)
gtk-4-1.dll!gsk_ngl_uniform_state_init_value(_GskNglUniformState * state, _GskNglUniformProgram * program, _GskNglUniformKind format, unsigned int array_count, unsigned int location, _GskNglUniformInfoElement * * infoptr) Line 112
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gskngluniformstate.c(112)
[Inline Frame] gtk-4-1.dll!gsk_ngl_uniform_state_get_value(_GskNglUniformState *) Line 198
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gskngluniformstateprivate.h(198)
gtk-4-1.dll!gsk_ngl_uniform_state_set1f(_GskNglUniformState * state, _GskNglUniformProgram * program, unsigned int location, unsigned int stamp, float value0) Line 275
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gskngluniformstateprivate.h(275)
[Inline Frame] gtk-4-1.dll!gsk_ngl_program_set_uniform1f(_GskNglProgram *) Line 181
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gsknglprogramprivate.h(181)
gtk-4-1.dll!gsk_ngl_driver_load_programs(_GskNglDriver * self, _GError * * error) Line 1
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gsknglprograms.defs(1)
[Inline Frame] gtk-4-1.dll!gsk_ngl_driver_new(_GskNglCommandQueue *) Line 436
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gskngldriver.c(436)
gtk-4-1.dll!gsk_ngl_driver_from_shared_context(_GdkGLContext * context, int debug_shaders, _GError * * error) Line 484
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gskngldriver.c(484)
gtk-4-1.dll!gsk_ngl_renderer_realize(_GskRenderer * renderer, _GdkSurface * surface, _GError * * error) Line 122
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\ngl\gsknglrenderer.c(122)
[Inline Frame] gtk-4-1.dll!gsk_renderer_realize(_GskRenderer *) Line 305
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\gskrenderer.c(305)
gtk-4-1.dll!gsk_renderer_new_for_surface(_GdkSurface * surface) Line 650
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gsk\gskrenderer.c(650)
gtk-4-1.dll!gtk_window_realize(_GtkWidget * widget) Line 4287
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gtk\gtkwindow.c(4287)
gtk-4-1.dll!gtk_application_window_real_realize(_GtkWidget * widget) Line 511
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gtk\gtkapplicationwindow.c(511)
gobject-2.0-0.dll!g_type_class_meta_marshal(_GClosure * closure, _GValue * return_value, unsigned int n_param_values, const _GValue * param_values, void * invocation_hint, void * marshal_data) Line 1012
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gclosure.c(1012)
gobject-2.0-0.dll!g_closure_invoke(_GClosure * closure, _GValue * return_value, unsigned int n_param_values, const _GValue * param_values, void * invocation_hint) Line 815
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gclosure.c(815)
gobject-2.0-0.dll!signal_emit_unlocked_R(_SignalNode * node, unsigned int detail, void * instance, _GValue * emission_return, const _GValue * instance_and_params) Line 3676
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3676)
gobject-2.0-0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3497
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3497)
gobject-2.0-0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3555
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3555)
gtk-4-1.dll!gtk_widget_realize(_GtkWidget * widget) Line 3466
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gtk\gtkwidget.c(3466)
gtk-4-1.dll!gtk_window_show(_GtkWidget * widget) Line 3803
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gtk\gtkwindow.c(3803)
gobject-2.0-0.dll!_g_closure_invoke_va(_GClosure * closure, _GValue * return_value, void * instance, char * args, int n_params, unsigned __int64 * param_types) Line 878
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gclosure.c(878)
gobject-2.0-0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3412
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3412)
gobject-2.0-0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3555
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3555)
gtk-4-1.dll!gtk_widget_show(_GtkWidget * widget) Line 2745
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\gtk\gtkwidget.c(2745)
gtk4-demo.exe!command_line(_GApplication * app, _GApplicationCommandLine * cmdline) Line 1046
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\demos\gtk-demo\main.c(1046)
gio-2.0-0.dll!_g_cclosure_marshal_INT__OBJECT(_GClosure * closure, _GValue * return_value, unsigned int n_param_values, const _GValue * param_values, void * invocation_hint, void * marshal_data) Line 803
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gio\gmarshal-internal.c(803)
gobject-2.0-0.dll!g_closure_invoke(_GClosure * closure, _GValue * return_value, unsigned int n_param_values, const _GValue * param_values, void * invocation_hint) Line 815
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gclosure.c(815)
gobject-2.0-0.dll!signal_emit_unlocked_R(_SignalNode * node, unsigned int detail, void * instance, _GValue * emission_return, const _GValue * instance_and_params) Line 3746
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3746)
gobject-2.0-0.dll!g_signal_emit_valist(void * instance, unsigned int signal_id, unsigned int detail, char * var_args) Line 3509
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3509)
gobject-2.0-0.dll!g_signal_emit(void * instance, unsigned int signal_id, unsigned int detail, ...) Line 3555
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gobject\gsignal.c(3555)
gio-2.0-0.dll!g_application_call_command_line(_GApplication * application, const char * const * arguments, _GVariant * options, int * exit_status) Line 1077
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gio\gapplication.c(1077)
gio-2.0-0.dll!g_application_real_local_command_line(_GApplication * application, char * * * arguments, int * exit_status) Line 1135
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gio\gapplication.c(1135)
gio-2.0-0.dll!g_application_run(_GApplication * application, int argc, char * * argv) Line 2529
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\glib\gio\gapplication.c(2529)
gtk4-demo.exe!main(int argc, char * * argv) Line 1118
at C:\Users\Collabora\xclaesse\gtksourceview\subprojects\gtk\demos\gtk-demo\main.c(1118)
[External Code]
This is with an intel GPU, and if I set $env:GSK_RENDERER="cairo"
it works. I previously was getting crash in the intel driver DLL, but not since last update on GTK master. Maybe just one crash hiding the other, dunno.