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

Fatal crash on solaris 64 bit ( signal BUS - invalid address alignment ) inside qclipboard_x11.cpp

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • 4.7.1
    • 4.6.3
    • GUI: Window management
    • None
    • solaris 64
    • 76bce7b04ceaae174c8ef0db5223f2dd17d9b102

    Description

      The solaris 64 bit version crashes on accessing QApplication::clipboard(). Please see the following stack trace:

      signal BUS (invalid address alignment) in _XData32 at 0xffffffff7db5b664

      [1] _XData32(0x107ff7430, 0xffffffff7ffeea04, 0x4, 0x1042a4, 0xffffffff7c90c8a8, 0x1), at 0xffffffff7db5b664
      [2] XChangeProperty(0x1, 0x1, 0x10814211c, 0x13, 0x20, 0x0), at 0xffffffff7db2bf8c
      =>[3] QClipboard::QClipboard(this = 0x1083239f0, parent = (nil)), line 461 in "qclipboard_x11.cpp"
      [4] QApplication::clipboard(), line 3092 in "qapplication.cpp"
      ...

      I have found that the problem is in the following piece of code:

              if (data.timestamp == CurrentTime) {
                  setupOwner();
                  int dummy = 0;
                  Window ownerId = owner->internalWinId();
                  XChangeProperty(X11->display, ownerId,
                                  ATOM(CLIP_TEMPORARY), XA_INTEGER, 32,
                                  PropModeReplace, (uchar*)&dummy, 1);
                  XWindowEvent(X11->display, ownerId, PropertyChangeMask, &ev);
                  data.timestamp = ev.xproperty.time;
                  XDeleteProperty(X11->display, ownerId, ATOM(CLIP_TEMPORARY));
              }
      

      The fix for the problem is to replace "int dummy" with "long dummy" , which will fix data misalignment on solaris 64.

      Attachments

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

        Activity

          People

            cduclos Carlos Duclos (Inactive)
            tskitishvili Karlo Tskitishvili
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes