[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
578
This bug affects 44 people
Affects Status Importance Assigned to Milestone
gjs (Ubuntu)
Fix Released
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

Revision history for this message
mfskanpur (mfskanpur) wrote :
Revision history for this message
Apport retracing service (apport) 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

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : StacktraceSource.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in gnome-shell (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: 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.

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

Changed in gnome-shell (Ubuntu):
status: New → Confirmed
Revision history for this message
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.
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: [regression] 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.
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: [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:
+ [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()
Revision history for this message
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:
+ [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)
tags: removed: regression-update
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

A patch is attached to bug 1672297.

Revision history for this message
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

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Here's a fix just for this bug.

Revision history for this message
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
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

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).

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.