Gmail webapp fails to load on N10

Bug #1278702 reported by Chris Wayne on 2014-02-11
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Jamie Strandboge
The Webapps-core project
apparmor-easyprof-ubuntu (Ubuntu)
Jamie Strandboge

Bug Description

The following error is found in the log:

Requesting the bindee to navigate to homepage:
Injecting webapps script[0] : file:///usr/share/click/preinstalled/com.ubuntu.developer.webapps.webapp-gmail/1.0.8/unity-webapps-gmail/GMail.user.js
Detectable autorepeat not supported.
Injecting webapps script[0] : file:///usr/share/click/preinstalled/com.ubuntu.developer.webapps.webapp-gmail/1.0.8/unity-webapps-gmail/GMail.user.js
LibThai: Fail to open dictionary at '/usr/share/libthai/thbrk.tri'.
WARNING: The web process experienced a crash on ''.

And the 404 page is shown to the user

Chris Wayne (cwayne18) wrote :
Bill Filler (bfiller) wrote :

please try this directly in the browser instead of the webapp to see if you get the same behavior. Also, is this always reproducible or just sometimes?

Bill Filler (bfiller) wrote :

davmor2 confirmed that he could successfully login to gmail from the webbrowser-app. The crash is only occurring when running the webapp.

David Barth (dbarth) wrote :

ok, so that's the container, and could be a persmissionproblem. We need to retrace the crash file.

Olivier Tilloy (osomon) wrote :
Download full text (4.7 KiB)

I was able to reproduce the issue on N10, but what crashes is the QtWebProcess executable, not webapp-container. So the crash file attached to this bug report is useless. I’ve retraced the crash I’m seeing here, and here’s the backtrace I’m getting:

#0 HB_ThaiAssignAttributes (string=<optimized out>, len=3, attributes=0x12cfac1)
    at ../3rdparty/harfbuzz/src/harfbuzz-thai.c:420
#1 0xb571a2c6 in HB_GetTailoredCharAttributes (string=0xa7a53534, stringLength=<optimized out>,
    items=<optimized out>, numItems=2, attributes=0x12cfac0) at ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:496
#2 0xb56e4b30 in QUnicodeTools::initCharAttributes (string=0xa7a53534, length=5, items=0xbed62280, numItems=3,
    attributes=0x12cfac0, options=...) at tools/qunicodetools.cpp:634
#3 0xb51c3702 in QTextEngine::attributes (this=0x12cf9c0) at text/qtextengine.cpp:1231
#4 0xb51c784c in QTextEngine::attributes (this=<optimized out>) at text/qtextengine.cpp:1236
#5 0xb51d04be in QTextLine::layout_helper (this=this@entry=0xbed62c48, maxGlyphs=maxGlyphs@entry=2147483647)
    at text/qtextlayout.cpp:1773
#6 0xb51d1592 in QTextLine::setLineWidth (this=this@entry=0xbed62c48, width=<optimized out>, width@entry=8388607)
    at text/qtextlayout.cpp:1572
#7 0xb620ebe4 in WebCore::setupLayout (layout=layout@entry=0xbed62c3c, style=...)
    at platform/graphics/qt/FontQt.cpp:68
#8 0xb620f864 in WebCore::Font::floatWidthForComplexText (this=this@entry=0xa7a5e970, run=...)
    at platform/graphics/qt/FontQt.cpp:210
#9 0xb61fcc56 in WebCore::Font::width (this=<optimized out>, run=..., fallbackFonts=fallbackFonts@entry=0x0,
    glyphOverflow=<optimized out>, glyphOverflow@entry=0x0) at platform/graphics/Font.cpp:209
#10 0xb68cc88e in WebCore::RenderMenuList::updateOptionsWidth (this=0xa7d04154) at rendering/RenderMenuList.cpp:183
#11 0xb68f085c in WebCore::RenderMenuList::updateFromElement (this=0xa7d04154) at rendering/RenderMenuList.cpp:198
#12 0xb68185b0 in WebCore::HTMLFormControlElement::attach (this=0x11e2278) at html/HTMLFormControlElement.cpp:217
#13 0xb695bed4 in attachChildren (this=<optimized out>) at dom/ContainerNode.h:209
#14 attach (this=<optimized out>) at dom/ContainerNode.cpp:774
#15 WebCore::Element::attach (this=0x11e1a30) at dom/Element.cpp:1172
#16 0xb695bed4 in attachChildren (this=<optimized out>) at dom/ContainerNode.h:209
#17 attach (this=<optimized out>) at dom/ContainerNode.cpp:774
#18 WebCore::Element::attach (this=0x11e16c0) at dom/Element.cpp:1172
#19 0xb6964454 in reattach (this=0x11e16c0) at dom/Node.h:878
#20 WebCore::Element::recalcStyle (this=this@entry=0x11e16c0, change=change@entry=WebCore::Node::NoChange)
    at dom/Element.cpp:1281
#21 0xb696427c in WebCore::Element::recalcStyle (this=this@entry=0x11e14a0,
    change=change@entry=WebCore::Node::NoChange) at dom/Element.cpp:1344
#22 0xb696427c in WebCore::Element::recalcStyle (this=this@entry=0x11e1428,
    change=change@entry=WebCore::Node::NoChange) at dom/Element.cpp:1344
#23 0xb696427c in WebCore::Element::recalcStyle (this=this@entry=0x11d8340,
    change=change@entry=WebCore::Node::NoChange) at dom/Element.cpp:1344
#24 0xb696427c in WebCore::Element::recalcStyle (this=t...


Olivier Tilloy (osomon) on 2014-02-14
Changed in webapps-core:
status: New → Confirmed
Jamie Strandboge (jdstrand) wrote :

Olivier and I noticed this in the logs:
                name="/usr/share/libthai/thbrk.tri" pid=2420
                comm="QtWebProcess" requested_mask="r" denied_mask="r"
                fsuid=32011 ouid=0

Jamie Strandboge (jdstrand) wrote :

Can someone affected by this bug adjust /var/lib/apparmor/profiles/click_com.ubuntu.developer.webapps.webapp-gmail_webapp-gmail_1.0.8:
  /usr/share/libthai/thbrk.tri r,

then run:
$ sudo apparmor_parser -r /var/lib/apparmor/profiles/click_com.ubuntu.developer.webapps.webapp-gmail_webapp-gmail_1.0.8

and see if it runs? If it runs or not, please verify there are no additional denials in the log.

Changed in apparmor (Ubuntu):
status: New → Incomplete
Jamie Strandboge (jdstrand) wrote :

Chris reported on irc that the above fixed the issue. This needs to be added to the apparmor fonts abstraction.

Changed in apparmor (Ubuntu):
status: Incomplete → Triaged
importance: Undecided → High
assignee: nobody → Seth Arnold (seth-arnold)
tags: added: application-confinement
Changed in apparmor:
status: New → In Progress
assignee: nobody → Jamie Strandboge (jdstrand)
Jamie Strandboge (jdstrand) wrote :

AppArmor the package is undergoing considerable changes right now, so I will add a temporary fix to apparmor-easyprof-ubuntu to unblock this bug.

Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Jamie Strandboge (jdstrand)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apparmor-easyprof-ubuntu - 1.1.5

apparmor-easyprof-ubuntu (1.1.5) trusty; urgency=medium

  * 1.0/ubuntu-sdk: add read to qtdeclarative5-ubuntu-ui-extras-browser-plugin
    for applications that use UbuntuWebview (LP: #1280293)
  * 1.1/webview: add read to qtdeclarative5-ubuntu-ui-extras-browser-plugin.
    With 1.1 we will use oxide so all applications using UbuntuWebview will
    need to specify this policy group, so just add it here rather than
    the ubuntu-sdk template
  * adjust ubuntu-* templates to allow read to /usr/share/libthai/thbrk.tri
    as a temporary fix until the AppArmor fonts abstraction has the real fix
    (LP: #1278702)
  * 1.1/ubuntu-webapp: explicitly deny noicy read access to /sys/bus/ and
 -- Jamie Strandboge <email address hidden> Tue, 18 Feb 2014 09:00:55 -0600

Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (3.6 KiB)

This bug was fixed in the package apparmor - 2.8.95~2430-0ubuntu1

apparmor (2.8.95~2430-0ubuntu1) trusty; urgency=low

  [ Jamie Strandboge ]

   * debian/debhelper/dh_apparmor: exit with error if aa-easyprof does not
   * debian/control: drop Depends on apparmor-easyprof to Suggests for

  [ Seth Arnold, Jamie Strandboge, Steve Beattie, John Johansen, Tyler Hicks ]

  * New upstream snapshot (LP: #1278702, #1061693, #1285653) dropping very
    large Ubuntu delta and fixing the following bugs:
    - Adjust fonts abstraction for libthai (LP: #1278702)
    - Support translated XDG user directories (LP: #1061693)
    - Adjust abstractions/web-data to include /var/www/html (LP: #1285653)
      Refresh 0002-add-debian-integration-to-lighttpd.patch to include
    - Adjust debian/libapparmor1.symbols to reflect new upstream versioning
      for the aa_query_label() function
    - Raise exceptions in Python bindings when something fails
  * ship new Python replacements for previous Perl-based tools
    - debian/apparmor-utils.install: remove usr/share/perl5/Immunix/*.pm and
      add usr/sbin/aa-autodep, usr/sbin/aa-cleanprof and usr/sbin/aa-mergeprof
    - debian/control:
      + remove various Perl dependencies
      + add python-apparmor and python3-apparmor
      + python3-apparmor Breaks: apparmor-easyprof to move the file since it
        ships dist-packages/apparmor/ now
    - debian/apparmor-utils.manpages: ship new manpages for aa-cleanprof and
    - debian/rules: build and install Python tools
  * debian/apparmor.install:
    - install apparmorfs, dovecot, kernelvars, securityfs, sys,
      and xdg-user-dirs tunables and xdg-user-dirs.d directory
  * debian/apparmor.dirs:
    - install /etc/apparmor.d/tunables/xdg-user-dirs.d
  * debian/rules: delete upstream-provided xdg-user-dirs.d/site.local
  * debian/apparmor.postinst: create xdg-user-dirs.d/site.local
  * debian/apparmor.postrm: remove xdg-user-dirs.d
  * Remaining patches:
    - add-chromium-browser.patch
    - add-debian-integration-to-lighttpd.patch
    - ubuntu-manpage-updates.patch
    - libapparmor-layout-deb.patch
    - libapparmor-mention-dbus-method-in-getcon-man.patch
    - etc-writable.patch
    - aa-utils_are_bilingual.patch
  * New patches:
    - convert-to-rules.patch
    - list-fns.patch
    - parse-mode.patch
    - add-decimal-interp.patch
    - policy_mediates.patch
    - fix-failpath.patch
    - feature_file.patch
    - fix-network.patch
    - aare-to-class.patch
    - add-mediation-unix.patch
    - parser_version.patch
    - caching.patch
    - label-class.patch
    - fix-lexer-debug.patch
    - use-diff-encode.patch
    - fix-serialize.patch
    - fix-ppc-endian-ftbfs.patch
    - opt_arg.patch
    - tests-cond-dbus.patch
  * Move manpages from libapparmor1 to libapparmor-dev
    - debian/libapparmor-dev.manpages: install aa_change_hat.2,
      aa_change_profile.2, aa_find_mountpoint.2, aa_getcon.2
    - debian/control: libapparmor-dev Replaces: and Breaks: libapparmor1
  * Move /usr/lib/python3/dist-packages/apparmor/ from


Changed in apparmor (Ubuntu):
status: Triaged → Fix Released
Olivier Tilloy (osomon) on 2014-07-11
Changed in apparmor:
status: In Progress → Invalid
status: Invalid → Fix Released
Changed in webapps-core:
status: Confirmed → Invalid
no longer affects: apparmor (Ubuntu)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers