Qt
  1. Qt
  2. QTBUG-38109

drag and drop doesn't work over remote X11 connection to a big-endian machine

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: P1: Critical P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.3.0 Beta1
    • Fix Version/s: 5.3.0 RC1
    • Component/s: Tools: Designer
    • Labels:
      None
    • Commits:
      e215aba4aa604e534b0ab9c50400da5d4d4e49ae

      Description

      Qt running remotely on the client crashed the moment we click on the widget.

      The following message appear on the console.

      XIO:  fatal IO error 2 (No such file or directory) on X server "solaris:24.0"
            after 421 requests (283 known processed) with 0 events remaining.
      

      The client(s) is RHEL6 whereas the X server is a Solaris x86 box. Users connect to the Solaris x86 server via Citrix and remote to the client to run designer.

      However this issue does not happen when user runs the same designer binary via VNC viewer connected to a vnc session started on the same client.

      Here's a summary of the above scenarios.

      User -> Citrix (Solaris x86) -> Client (RHEL6) <== Crash when click on widget
      User -> VNC viewer -> Client (RHEL6) <== No crash when click on widget
      

      When I do a diff on both the strace logs that I collected on the above scenario, it shows that in the case when we run through vnc viewer, QT is accessing files from /usr/lib64/kde4/plugins/designer folder which is not available on the X server. Subsequently, I also observed that icon files related to designer are being accessed from /usr/share/icons/oxygen///designer*.

      Is it possible that the crash is related to the missing files on the X server as compared to when it is running locally? On the local client running RHEL6, there is an older releases of QT, that probably constitute to why it does not crash?

      If that being the case, do you know how do we configure the build to build those missing files and install in the same prefix path with the new Qt binary?

      Regards,

      TTK

      1. strace_run_locally_rhel6.log
        2.34 MB
        Tshun Kiat TAN
      2. strace_run_remotely.log
        395 kB
        Tshun Kiat TAN
      1. QTBUG-38109-2.png
        154 kB

        Issue Links

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

          Activity

          Hide
          Tshun Kiat TAN added a comment -

          Shawn,

          Give me another hour or so. I'm recompiling everything with different combination of GCC versions as well as different patches to see the differences, if any.

          I'm getting confused after build and rebuild and rebuild. I'm going to ask something plain stupid.

          When I do the following, will it clear away the patches that I cherry pick? Because now, without applying the patches explicitly using git cherry-pick after the cleanout and update, the so call 'crash' (clean exit) when doing the drag and drop issue over remote X11 is no longer there. Can you advise whether my assumptions are correct or I need to do a git clone from beginning again...

          rm -rf config.out gmake.out
          rm -rf qtbase/config.status qtbase/config.summary
          gmake -j 4 clean > /dev/null 2>&1             
          gmake -j 4 distclean > /dev/null 2>&1         
          git submodule foreach --recursive "git clean -dfx" > /dev/null 2>&1
          git pull
          git submodule sync
          git submodule update --recursive
          

          Regards,

          TTK

          Show
          Tshun Kiat TAN added a comment - Shawn, Give me another hour or so. I'm recompiling everything with different combination of GCC versions as well as different patches to see the differences, if any. I'm getting confused after build and rebuild and rebuild. I'm going to ask something plain stupid. When I do the following, will it clear away the patches that I cherry pick? Because now, without applying the patches explicitly using git cherry-pick after the cleanout and update, the so call 'crash' (clean exit) when doing the drag and drop issue over remote X11 is no longer there. Can you advise whether my assumptions are correct or I need to do a git clone from beginning again... rm -rf config.out gmake.out rm -rf qtbase/config.status qtbase/config.summary gmake -j 4 clean > /dev/null 2>&1 gmake -j 4 distclean > /dev/null 2>&1 git submodule foreach --recursive "git clean -dfx" > /dev/null 2>&1 git pull git submodule sync git submodule update --recursive Regards, – TTK
          Hide
          Shawn Rutledge added a comment -

          The recursive git clean -dfx is enough to make sure that you have to start over with configure and make, so if you are doing that then manual rm and make clean and make distclean are not necessary. But as for the patches, you have to check with git log or some graphical tool like gitk what you currently have. I'd probably remove the patches with git rebase (to pick and choose if there are some that you still want), or

          git reset --hard origin/stable

          to get back to exactly the original repository, and then cherry-pick again the patches that you want on top of that.

          Show
          Shawn Rutledge added a comment - The recursive git clean -dfx is enough to make sure that you have to start over with configure and make, so if you are doing that then manual rm and make clean and make distclean are not necessary. But as for the patches, you have to check with git log or some graphical tool like gitk what you currently have. I'd probably remove the patches with git rebase (to pick and choose if there are some that you still want), or git reset --hard origin/stable to get back to exactly the original repository, and then cherry-pick again the patches that you want on top of that.
          Hide
          Tshun Kiat TAN added a comment -

          Shawn,

          Okay, I'm going to use the reset method you mention.

          Might not be able to complete today. Grgggh!

          Regards,

          TTK

          Show
          Tshun Kiat TAN added a comment - Shawn, Okay, I'm going to use the reset method you mention. Might not be able to complete today. Grgggh! Regards, – TTK
          Hide
          Tshun Kiat TAN added a comment -

          Shawn,

          I did the reset and did not cherry pick any of the patches and I expect the issue to resurface after config/make. But no. Issue no longer appear?!

          Regards,

          TTK

          Show
          Tshun Kiat TAN added a comment - Shawn, I did the reset and did not cherry pick any of the patches and I expect the issue to resurface after config/make. But no. Issue no longer appear?! Regards, – TTK
          Hide
          Tshun Kiat TAN added a comment -

          Shawn,

          I think the patches had all been merged to 5.3 so even if I wipe off the directory and clone again, I can no longer reproduce the issue.

          And thanks to all on the thread that had help to fix it. You guys rock!

          Regards,

          TTK

          Show
          Tshun Kiat TAN added a comment - Shawn, I think the patches had all been merged to 5.3 so even if I wipe off the directory and clone again, I can no longer reproduce the issue. And thanks to all on the thread that had help to fix it. You guys rock! Regards, – TTK

            People

            • Assignee:
              Shawn Rutledge
              Reporter:
              Tshun Kiat TAN
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes