Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-47738

Crash due to divide-by-zero when xrandr reports 0 mm x 0 mm physical size

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P2: Important
    • None
    • 5.5.0
    • QPA: X11/XCB
    • None

    Description

      I use chrome remote desktop with a modified xvfb server. This reports 0mm x 0mm as the physical size in xrandr, e.g.

      xrandr: Failed to get size of gamma for output screen
      Screen 0: minimum 1 x 1, current 1278 x 769, maximum 3840 x 2560
      screen connected primary 1278x769+0+0 0mm x 0mm
      3840x2560 0.0
      1600x1200 0.0
      Chrome Remote Desktop client resolution 0.0*

      This causes qt-creator 3.4.2 and above (built with Qt 5.5+) to crash instantly on launch. I'll try to work around this and also get the original chrome bug fixed[1], but it would still be nice for Qt to not crash when this happens.

      [1] https://code.google.com/p/chromium/issues/detail?id=357674

      I got this stack trace from valgrind:

      ==13780== Command: ./qtcreator
      ==13780==
      ==13780==
      ==13780== Process terminating with default action of signal 8 (SIGFPE)
      ==13780== Integer divide by zero at address 0x40043B4288
      ==13780== at 0xF246D58: QXcbScreen::updateRefreshRate(unsigned int) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5XcbQpa.so.5.5.0)
      ==13780== by 0xF24921B: QXcbScreen::QXcbScreen(QXcbConnection*, QXcbVirtualDesktop*, unsigned int, xcb_randr_get_output_info_reply_t*, QString) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5XcbQpa.so.5.5.0)
      ==13780== by 0xF233CC3: QXcbConnection::createScreen(QXcbVirtualDesktop*, unsigned int, xcb_randr_get_output_info_reply_t*) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5XcbQpa.so.5.5.0)
      ==13780== by 0xF2380D2: QXcbConnection::initializeScreens() (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5XcbQpa.so.5.5.0)
      ==13780== by 0xF2395F1: QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, unsigned int, char const*) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5XcbQpa.so.5.5.0)
      ==13780== by 0xF23D065: QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5XcbQpa.so.5.5.0)
      ==13780== by 0xEFE839A: ??? (in $HOME/qtcreator-3.4.2/bin/plugins/platforms/libqxcb.so)
      ==13780== by 0x5B50761: QPlatformIntegrationFactory::create(QString const&, QStringList const&, int&, char**, QString const&) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5Gui.so.5.5.0)
      ==13780== by 0x5B5B9A7: QGuiApplicationPrivate::createPlatformIntegration() (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5Gui.so.5.5.0)
      ==13780== by 0x5B5C75C: QGuiApplicationPrivate::createEventDispatcher() (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5Gui.so.5.5.0)
      ==13780== by 0x6A7AA35: QCoreApplication::init() (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5Core.so.5.5.0)
      ==13780== by 0x6A7AA95: QCoreApplication::QCoreApplication(QCoreApplicationPrivate&) (in $HOME/qtcreator-3.4.2/lib/qtcreator/libQt5Core.so.5.5.0)

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              paeglis Gatis Paeglis
              sunnyps Sunny Sachanandani
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes