[regression] Many programs crashing at exit with assert failure: ../../../../src/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0' failed. Called from cairo_debug_reset_static_data()

Bug #1763878 reported by mfskanpur on 2018-04-14
578
This bug affects 44 people
Affects Status Importance Assigned to Milestone
gjs (Ubuntu)
High
Daniel van Vugt

Bug Description

Duplicates:
https://errors.ubuntu.com/problem/8fa67805fb56d4a092138487045210c26bbbb0c3
https://errors.ubuntu.com/problem/7094d9804b2da7eeaf1803068c126eb376913d49

A fix:
https://gitlab.gnome.org/GNOME/gjs/commit/8510bede1dd1f8a5fb95a2f594b4d3a68289e5ea

---

ProblemType: Crash
DistroRelease: Ubuntu 18.04
Package: gnome-shell 3.28.0-0ubuntu5
Uname: Linux 4.16.2-041602-generic x86_64
ApportVersion: 2.20.9-0ubuntu5
Architecture: amd64
AssertionMessage: gnome-shell-portal-helper: ../../../../src/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0' failed.
CurrentDesktop: ubuntu:GNOME
Date: Sat Apr 14 08:16:32 2018
DisplayManager: gdm3
ExecutablePath: /usr/lib/gnome-shell/gnome-shell-portal-helper
GsettingsChanges:
 b'org.gnome.shell' b'app-picker-view' b'uint32 1'
 b'org.gnome.shell' b'favorite-apps' redacted by apport
 b'org.gnome.desktop.interface' b'gtk-im-module' b"'gtk-im-context-simple'"
 b'org.gnome.desktop.interface' b'text-scaling-factor' b'1.25'
 b'org.gnome.desktop.interface' b'cursor-size' b'32'
InstallationDate: Installed on 2018-04-05 (8 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180402)
ProcCmdline: /usr/lib/gnome-shell/gnome-shell-portal-helper
ProcEnviron:
 XDG_RUNTIME_DIR=<set>
 SHELL=/bin/bash
 LANGUAGE=en_IN:en
 PATH=(custom, no user)
 LANG=en_IN
Signal: 6
SourcePackage: gnome-shell
StacktraceTop:
 __assert_fail_base (fmt=0x7fe7267807d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7fe722d8ad05 "hash_table->live_entries == 0", file=file@entry=0x7fe722d8ace8 "../../../../src/cairo-hash.c", line=line@entry=217, function=function@entry=0x7fe722d8ae90 "_cairo_hash_table_destroy") at assert.c:92
 __GI___assert_fail (assertion=0x7fe722d8ad05 "hash_table->live_entries == 0", file=0x7fe722d8ace8 "../../../../src/cairo-hash.c", line=217, function=0x7fe722d8ae90 "_cairo_hash_table_destroy") at assert.c:101
 ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2
 ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2
 cairo_debug_reset_static_data () from /usr/lib/x86_64-linux-gnu/libcairo.so.2
Title: gnome-shell-portal-helper assert failure: gnome-shell-portal-helper: ../../../../src/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0' failed.
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

mfskanpur (mfskanpur) wrote :

StacktraceTop:
 __assert_fail_base (fmt=0x7fe7267807d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7fe722d8ad05 "hash_table->live_entries == 0", file=file@entry=0x7fe722d8ace8 "../../../../src/cairo-hash.c", line=line@entry=217, function=function@entry=0x7fe722d8ae90 <__PRETTY_FUNCTION__.12578> "_cairo_hash_table_destroy") at assert.c:92
 __GI___assert_fail (assertion=assertion@entry=0x7fe722d8ad05 "hash_table->live_entries == 0", file=file@entry=0x7fe722d8ace8 "../../../../src/cairo-hash.c", line=line@entry=217, function=function@entry=0x7fe722d8ae90 <__PRETTY_FUNCTION__.12578> "_cairo_hash_table_destroy") at assert.c:101
 _cairo_hash_table_destroy (hash_table=<optimized out>) at ../../../../src/cairo-hash.c:217
 _cairo_scaled_font_map_destroy () at ../../../../src/cairo-scaled-font.c:441
 cairo_debug_reset_static_data () at ../../../../src/cairo-debug.c:67

Changed in gnome-shell (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-shell (Ubuntu):
status: New → Confirmed
Daniel van Vugt (vanvugt) wrote :
description: updated
information type: Private → Public
summary: - gnome-shell-portal-helper assert failure: gnome-shell-portal-helper:
- ../../../../src/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion
- `hash_table->live_entries == 0' failed.
+ gnome-shell-* assert failure: ../../../../src/cairo-hash.c:217:
+ _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0'
+ failed.

Assigning this bug to gjs, because it seems related and is the only package that changed recently:

#4 0xb791e7bb in __assert_fail_base (fmt=0xb7a7a848 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0xb588c015 "hash_table->live_entries == 0", file=0xb588bff8 "../../../../src/cairo-hash.c", line=217, function=0xb588c198 <__PRETTY_FUNCTION__.12348> "_cairo_hash_table_destroy") at assert.c:92
        str = 0x143bf00 ""
        total = 4096
#5 0xb791e819 in __GI___assert_fail (assertion=0xb588c015 "hash_table->live_entries == 0", file=0xb588bff8 "../../../../src/cairo-hash.c", line=217, function=0xb588c198 <__PRETTY_FUNCTION__.12348> "_cairo_hash_table_destroy") at assert.c:101
No locals.
#6 0xb57cf573 in _cairo_hash_table_destroy (hash_table=0x13b0980) at ../../../../src/cairo-hash.c:217
        __PRETTY_FUNCTION__ = "_cairo_hash_table_destroy"
#7 0xb580a096 in _cairo_scaled_font_map_destroy () at ../../../../src/cairo-scaled-font.c:441
        font_map = 0x1418880
        scaled_font = 0x10ee8c0
        __PRETTY_FUNCTION__ = "_cairo_scaled_font_map_destroy"
#8 0xb57c6018 in cairo_debug_reset_static_data () at ../../../../src/cairo-debug.c:67
No locals.
#9 0xb7b7b2a9 in shutdown () at gjs/engine.cpp:227
No locals.
#10 GjsInit::~GjsInit (this=0xb7bf95b4, __in_chrg=<optimized out>) at gjs/engine.cpp:268
No locals.

summary: - gnome-shell-* assert failure: ../../../../src/cairo-hash.c:217:
- _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0'
- failed.
+ [regression] gnome-shell-* assert failure: ../../../../src/cairo-
+ hash.c:217: _cairo_hash_table_destroy: Assertion
+ `hash_table->live_entries == 0' failed.
Changed in gnome-shell (Ubuntu):
importance: Medium → High
Changed in gjs (Ubuntu):
importance: Undecided → High
tags: added: regression-update
tags: added: regression
Changed in gjs (Ubuntu):
status: New → Confirmed
summary: - [regression] gnome-shell-* assert failure: ../../../../src/cairo-
- hash.c:217: _cairo_hash_table_destroy: Assertion
+ [regression] gjs-* and gnome-shell-* assert failure: ../../../../src
+ /cairo-hash.c:217: _cairo_hash_table_destroy: Assertion
`hash_table->live_entries == 0' failed.
Changed in gjs (Ubuntu):
status: Confirmed → Triaged
no longer affects: gnome-shell (Ubuntu)
description: updated
description: updated
description: updated
summary: - [regression] gjs-* and gnome-shell-* assert failure: ../../../../src
+ [regression] Many programs crashing with assert failure: ../../../../src
/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion
`hash_table->live_entries == 0' failed.
summary: [regression] Many programs crashing with assert failure: ../../../../src
/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion
- `hash_table->live_entries == 0' failed.
+ `hash_table->live_entries == 0' failed. Called from
+ cairo_debug_reset_static_data()
Daniel van Vugt (vanvugt) wrote :

We need to fix bug 1672297 at the same time and that one is even higher priority.

Changed in gjs (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Triaged → In Progress
summary: - [regression] Many programs crashing with assert failure: ../../../../src
- /cairo-hash.c:217: _cairo_hash_table_destroy: Assertion
+ [regression] Many programs crashing at exit with assert failure:
+ ../../../../src/cairo-hash.c:217: _cairo_hash_table_destroy: Assertion
`hash_table->live_entries == 0' failed. Called from
cairo_debug_reset_static_data()
Steve Langasek (vorlon) on 2018-04-16
tags: removed: regression-update
Daniel van Vugt (vanvugt) wrote :

A patch is attached to bug 1672297.

Daniel van Vugt (vanvugt) wrote :

In case it wasn't clear, this bug was introduced in:

gjs (1.52.1-1) unstable; urgency=medium

  * New upstream release
  * Drop patch included in new release

 -- Tim Lunn <email address hidden> Thu, 12 Apr 2018 18:12:07 +1000

Daniel van Vugt (vanvugt) wrote :

Here's a fix just for this bug.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gjs - 1.52.1-1ubuntu1

---------------
gjs (1.52.1-1ubuntu1) bionic; urgency=medium

  * Add fix-crashes-lp1763878-revert-575f1e2e077.patch to fix shutdown
    crashes (LP: #1763878)
  * Add some patches to solve large memory leaks (LP: #1672297)
    - fix-leaks-lp1672297-1-context-Add-API-to-force-GC-schedule.patch
    - fix-leaks-lp1672297-2-object-Queue-a-forced-GC-when-toggling-down.patch
    - Note: More such patches are under review so this list may grow in future.

 -- Daniel van Vugt <email address hidden> Mon, 16 Apr 2018 14:30:31 +0800

Changed in gjs (Ubuntu):
status: In Progress → Fix Released

Weird, I still see reports for this in error.ubuntu.com, not sure if those are coming from people who didn't upgrade gjs (as the reports are for these days, but for an older g-s version, and thus I guess gjs isn't upgraded too).

Daniel van Vugt (vanvugt) wrote :

It's not weird, it's normal. It usually takes days or weeks after a fix is released for duplicate reports to stop coming in.

Aside from anything else, the code this bug was crashing in no longer exists in the current version :)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers