This crash looks to be due to an infinite loop between a child and parent in atk.
This is what I think is happening:
- The loops begins with a call to atk_component_get_extents() on a gtk notebook page.
- atk_component_get_extents() then calls iface->get_extents() [1]
- which translates to gtk_notebook_page_accessible_get_extents() [2]
- the gtk notebook page then calls atk_component_get_extents() on it's child [3]
- where the child's iface->get_extents() translates to atk_socket_component_real_get_extents() [4]
- in which the child calls atk_component_get_extents() again on its parent [5]
- - - -
[1] https://gitlab.gnome.org/GNOME/atk/-/blob/9118d44778e4d3a05810012cdcaa69eb4db2c389/atk/atkcomponent.c#L299
[2] https://gitlab.gnome.org/GNOME/gtk/-/blob/4ff578db10fe01de662e478ffd5f9ff205e89074/gtk/a11y/gtknotebookpageaccessible.c#L342
[3] https://gitlab.gnome.org/GNOME/gtk/-/blob/4ff578db10fe01de662e478ffd5f9ff205e89074/gtk/a11y/gtknotebookpageaccessible.c#L325
[4] https://gitlab.gnome.org/GNOME/atk/-/blob/e7276a0c47a0bd3cfb5654583ca3358ddf51a609/atk/atksocket.c#L104
[5] https://gitlab.gnome.org/GNOME/atk/-/blob/e7276a0c47a0bd3cfb5654583ca3358ddf51a609/atk/atksocket.c#L198
This crash looks to be due to an infinite loop between a child and parent in atk.
This is what I think is happening:
- The loops begins with a call to atk_component_ get_extents( ) on a gtk notebook page.
- atk_component_ get_extents( ) then calls iface-> get_extents( ) [1]
- which translates to gtk_notebook_ page_accessible _get_extents( ) [2]
- the gtk notebook page then calls atk_component_ get_extents( ) on it's child [3]
- where the child's iface-> get_extents( ) translates to atk_socket_ component_ real_get_ extents( ) [4]
- in which the child calls atk_component_ get_extents( ) again on its parent [5]
- - - -
[1] https:/ /gitlab. gnome.org/ GNOME/atk/ -/blob/ 9118d44778e4d3a 05810012cdcaa69 eb4db2c389/ atk/atkcomponen t.c#L299
[2] https:/ /gitlab. gnome.org/ GNOME/gtk/ -/blob/ 4ff578db10fe01d e662e478ffd5f9f f205e89074/ gtk/a11y/ gtknotebookpage accessible. c#L342
[3] https:/ /gitlab. gnome.org/ GNOME/gtk/ -/blob/ 4ff578db10fe01d e662e478ffd5f9f f205e89074/ gtk/a11y/ gtknotebookpage accessible. c#L325
[4] https:/ /gitlab. gnome.org/ GNOME/atk/ -/blob/ e7276a0c47a0bd3 cfb5654583ca335 8ddf51a609/ atk/atksocket. c#L104
[5] https:/ /gitlab. gnome.org/ GNOME/atk/ -/blob/ e7276a0c47a0bd3 cfb5654583ca335 8ddf51a609/ atk/atksocket. c#L198