diff options
| author | Martin Jansa <Martin.Jansa@gmail.com> | 2018-12-18 17:41:16 +0000 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2018-12-20 00:57:48 +0000 |
| commit | 201fcf27cf07d60b7d6ab89c7dcefe2190217745 (patch) | |
| tree | 6fb9c4382a591d16184a35943645fabcea049ab0 | |
| parent | 5b35f89219e5b4a2bc0792d429c93b0bbc9c6898 (diff) | |
| download | meta-qt5-201fcf27cf07d60b7d6ab89c7dcefe2190217745.tar.gz | |
qt5-plugin-generic-vboxtouch: fix segfaultthud-next
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
| -rw-r--r-- | recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch | 74 | ||||
| -rw-r--r-- | recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb | 2 |
2 files changed, 76 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch new file mode 100644 index 00000000..283601af --- /dev/null +++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch/0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch | |||
| @@ -0,0 +1,74 @@ | |||
| 1 | From 29665ab1a97bb0ca4b74275f5526e9afe09ccc64 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Tue, 18 Dec 2018 17:38:21 +0000 | ||
| 4 | Subject: [PATCH] VirtualboxTouchScreenHandler initialize m_mouse | ||
| 5 | |||
| 6 | * make sure m_mouse is initialized for cases where shutdown is called before: | ||
| 7 | m_mouse = EvdevMouseHandler::create(evdev_device, specification); | ||
| 8 | e.g. with following ioctl fails with vboxguest driver from vanila 4.19 kernel: | ||
| 9 | ioctl(m_fd, _IOWR('V', 10, features), &features); | ||
| 10 | |||
| 11 | * fixes following crash: | ||
| 12 | (gdb) set args -plugin evdevkeyboard -plugin vboxtouch | ||
| 13 | (gdb) r | ||
| 14 | Starting program: /usr/sbin/luna-next -plugin evdevkeyboard -plugin vboxtouch | ||
| 15 | warning: File "/usr/lib/libstdc++.so.6.0.25-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". | ||
| 16 | To enable execution of this file add | ||
| 17 | add-auto-load-safe-path /usr/lib/libstdc++.so.6.0.25-gdb.py | ||
| 18 | line to your configuration file "/media/internal/.gdbinit". | ||
| 19 | To completely disable this security protection add | ||
| 20 | set auto-load safe-path / | ||
| 21 | line to your configuration file "/media/internal/.gdbinit". | ||
| 22 | For more information about this security protection see the | ||
| 23 | "Auto-loading safe path" section in the GDB manual. E.g., run from the shell: | ||
| 24 | info "(gdb)Auto-loading safe path" | ||
| 25 | [Thread debugging using libthread_db enabled] | ||
| 26 | Using host libthread_db library "/lib/libthread_db.so.1". | ||
| 27 | ** Message: 17:05:20.472: App to allow in Low memory: org.webosports.app.phone | ||
| 28 | ** Message: 17:05:20.479: App to allow in Low memory: org.webosports.app.contacts | ||
| 29 | ** Message: 17:05:20.479: App to allow in Low memory: org.webosports.app.messaging | ||
| 30 | |||
| 31 | ** (process:993): WARNING **: 17:05:20.485: Settings::load(): 6 application paths defined: | ||
| 32 | ** Message: 17:05:20.487: Running on authenticamd with hardware type emulator | ||
| 33 | pci id for fd 7: 80ee:beef, driver (null) | ||
| 34 | BFD: error: /usr/lib/llvm6.0/.debug/libLLVM-6.0.so(.debug_info) is too large (0x2a793ad1 bytes) | ||
| 35 | warning: Can't read data for section '.debug_info' in file '/usr/lib/llvm6.0/.debug/libLLVM-6.0.so' | ||
| 36 | [New Thread 0xafe21b40 (LWP 997)] | ||
| 37 | [New Thread 0xaf620b40 (LWP 998)] | ||
| 38 | BFD: error: /usr/lib/.debug/libQt5Quick.so.5.11.3(.debug_info) is too large (0x5a05c4d bytes) | ||
| 39 | warning: Can't read data for section '.debug_info' in file '/usr/lib/.debug/libQt5Quick.so.5.11.3' | ||
| 40 | DEBUG: 17:05:39.393: vboxtouch: Using vbox device /dev/vboxguest | ||
| 41 | WARNING: 17:05:39.402: vboxtouch setpointershape: ioctl error: Invalid argument | ||
| 42 | WARNING: 17:05:39.403: vboxtouch init: ioctl error: Invalid argument | ||
| 43 | DEBUG: 17:05:39.403: shutting down vboxtouch | ||
| 44 | |||
| 45 | Thread 1 "luna-next" received signal SIGSEGV, Segmentation fault. | ||
| 46 | 0xaee18e1c in VirtualboxTouchScreenHandler::shutdown (this=0x80da570) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/vboxtouch.cpp:179 | ||
| 47 | 179 delete m_mouse; | ||
| 48 | (gdb) bt | ||
| 49 | #0 0xaee18e1c in VirtualboxTouchScreenHandler::shutdown (this=0x80da570) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/vboxtouch.cpp:179 | ||
| 50 | #1 0xaee19319 in VirtualboxTouchScreenHandler::VirtualboxTouchScreenHandler (this=0x80da570, specification=..., parent=0x0) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/vboxtouch.cpp:122 | ||
| 51 | #2 0xaee1877b in VirtualboxTouchScreenPlugin::create (this=0x80d7a30, key=..., specification=...) at /usr/src/debug/qt5-plugin-generic-vboxtouch/1.1.4+gitrAUTOINC+3f2bdb5a1d-r0/git/vboxtouch/main.cpp:51 | ||
| 52 | #3 0xb7afc6c1 in qLoadPlugin<QObject, QGenericPlugin, QString const&> (key=..., loader=<optimized out>) at ../../include/QtCore/../../../git/src/corelib/kernel/qobject.h:499 | ||
| 53 | |||
| 54 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 55 | --- | ||
| 56 | vboxtouch/vboxtouch.cpp | 2 +- | ||
| 57 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 58 | |||
| 59 | diff --git a/vboxtouch/vboxtouch.cpp b/vboxtouch/vboxtouch.cpp | ||
| 60 | index 6e0aac8..345fdcb 100644 | ||
| 61 | --- a/vboxtouch/vboxtouch.cpp | ||
| 62 | +++ b/vboxtouch/vboxtouch.cpp | ||
| 63 | @@ -82,7 +82,7 @@ const static vbox_mouse_status_request blank_mouse_status_request = { | ||
| 64 | #define VBOXMOUSE_IS_ABSOLUTE 2 | ||
| 65 | |||
| 66 | VirtualboxTouchScreenHandler::VirtualboxTouchScreenHandler(const QString &specification, QObject *parent) | ||
| 67 | - : QObject(parent), m_fd(-1), m_notifier(0), m_device(0), m_failures(0), | ||
| 68 | + : QObject(parent), m_fd(-1), m_notifier(0), m_device(0), m_failures(0), m_mouse(0), | ||
| 69 | m_button(false), m_x(0), m_y(0) | ||
| 70 | { | ||
| 71 | setObjectName("Virtualbox Touch Handler"); | ||
| 72 | -- | ||
| 73 | 2.17.1 | ||
| 74 | |||
diff --git a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb index d359db99..1f29dcfe 100644 --- a/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb +++ b/recipes-qt/qt5/qt5-plugin-generic-vboxtouch_git.bb | |||
| @@ -24,3 +24,5 @@ inherit qmake5 | |||
| 24 | 24 | ||
| 25 | FILES_${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so" | 25 | FILES_${PN} += "${OE_QMAKE_PATH_PLUGINS}/generic/libvboxtouchplugin.so" |
| 26 | FILES_${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*" | 26 | FILES_${PN}-dev += "${OE_QMAKE_PATH_LIBS}/cmake/*" |
| 27 | |||
| 28 | SRC_URI += "file://0001-VirtualboxTouchScreenHandler-initialize-m_mouse.patch;patchdir=.." | ||
