Bug#915607: prelink breaks kwallet5d, plasmashell on amd64

2018-12-07 Thread Bernhard Übelacker
Dear Maintainer,
tried to reproduce this issue and attached backtrace is created by
- using a minimal buster amd64 qemu VM
- installing a minimal plasma desktop
- logging into graphical session
- via ssh: running "prelink -mR /usr/bin/plasmashell"
- via ssh: running "DISPLAY=:0 /usr/bin/plasmashell --replace"


The crash seems to happen on an attempt to resolve the member
QQuickWindow::event through the executables .plt section.
For some reason with prelink this pointer looks damaged and
points not into the .plt section:

With prelink:
0x77e3f978 <_ZTVN12KQuickAddons21QuickViewSharedEngineE+56>:
0x551d8b171af0
(gdb) stepi
0x551d8b171af0 in ?? ()

Without prelink:
0x77e3f978 <_ZTVN12KQuickAddons21QuickViewSharedEngineE+56>:
0x55571af0
(gdb) stepi
0x55571af0 in QQuickWindow::event(QEvent*)@plt ()


Kind regards,
Bernhard


(gdb) bt
#0  0x551d8b171af0 in ?? ()
#1  0x767ea491 in QApplicationPrivate::notify_helper 
(this=this@entry=0x55610610, receiver=receiver@entry=0x55a95530, 
e=e@entry=0x7fffd3b0) at kernel/qapplication.cpp:3727
#2  0x767f1ad0 in QApplication::notify (this=0x7fffe470, 
receiver=0x55a95530, e=0x7fffd3b0) at kernel/qapplication.cpp:3486
#3  0x75d95039 in QCoreApplication::notifyInternal2 
(receiver=0x55a95530, event=event@entry=0x7fffd3b0) at 
../../include/QtCore/5.11.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307
#4  0x75dc47b8 in QCoreApplication::sendEvent (event=0x7fffd3b0, 
receiver=) at 
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#5  QObjectPrivate::setParent_helper (this=0x5596ccb0, o=0x55a95530) at 
kernel/qobject.cpp:2040
#6  0x75dc5394 in QObject::QObject (this=0x55aad850, 
parent=0x55a95530) at kernel/qobject.cpp:812
#7  0x77adfb92 in KDeclarative::QmlObject::QmlObject 
(this=0x55aad850, engine=0x5568d3d0, rootContext=0x5596bf50, 
obj=0x55aad850, parent=) at 
./src/kdeclarative/qmlobject.cpp:170
#8  0x77ae20ff in 
KDeclarative::QmlObjectSharedEngine::QmlObjectSharedEngine 
(this=0x55aad850, parent=0x55a95530) at 
./src/kdeclarative/qmlobjectsharedengine.cpp:58
#9  0x77e39210 in 
KQuickAddons::QuickViewSharedEnginePrivate::QuickViewSharedEnginePrivate 
(module=0x55a95530, this=0x5596bf70) at 
./src/quickaddons/quickviewsharedengine.cpp:50
#10 KQuickAddons::QuickViewSharedEngine::QuickViewSharedEngine 
(this=0x55a95530, parent=) at 
./src/quickaddons/quickviewsharedengine.cpp:147
#11 0x77f8ea26 in PlasmaQuick::ContainmentView::ContainmentView 
(this=0x55a95530, corona=0x55661a00, parent=) at 
./src/plasmaquick/containmentview.cpp:197
#12 0x5557f0a3 in DesktopView::DesktopView (this=0x55a95530, 
corona=0x55661a00, targetScreen=0x5562ee90) at 
./shell/desktopview.cpp:40
#13 0x55595f4a in ShellCorona::addOutput 
(this=this@entry=0x55661a00, screen=, 
screen@entry=0x5562ee90) at ./shell/shellcorona.cpp:1199
#14 0x5559dae3 in ShellCorona::load (this=this@entry=0x55661a00) at 
./shell/shellcorona.cpp:697
#15 0x5559dfd9 in ShellCorona::load (this=0x55661a00) at 
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:937
#16 0x75dbe3e0 in QtPrivate::QSlotObjectBase::call (a=0x7fffd950, 
r=0x55661a00, this=0x5577c6b0) at 
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376
#17 QMetaObject::activate (sender=0x55664f50, signalOffset=, 
local_signal_index=, argv=) at 
kernel/qobject.cpp:3754
#18 0x77e6c1b1 in KActivities::Consumer::serviceStatusChanged 
(this=, _t1=) at 
./obj-x86_64-linux-gnu/src/lib/KF5Activities_autogen/EWIEGA46WW/moc_consumer.cpp:248
#19 0x77e6d62b in KActivities::Consumer::qt_static_metacall 
(_o=, _c=, _id=, _a=) at 
./obj-x86_64-linux-gnu/src/lib/KF5Activities_autogen/EWIEGA46WW/moc_consumer.cpp:114
#20 0x75dbe28b in QMetaObject::activate (sender=0x55678a60, 
signalOffset=, local_signal_index=, 
argv=) at kernel/qobject.cpp:3771
#21 0x77e6c071 in KActivities::ActivitiesCache::serviceStatusChanged 
(this=this@entry=0x55678a60, _t1=, 
_t1@entry=KActivities::Consumer::Running) at 
./obj-x86_64-linux-gnu/src/lib/KF5Activities_autogen/EWIEGA46WW/moc_activitiescache_p.cpp:407
#22 0x77e651bd in KActivities::ActivitiesCache::setAllActivities 
(this=this@entry=0x55678a60, _activities=...) at 
./src/lib/activitiescache_p.cpp:300
#23 0x77e653ee in 
KActivities::ActivitiesCache::passInfoFromReply, void 
(KActivities::ActivitiesCache::*)(QList const&)> (f=(void 
(KActivities::ActivitiesCache::*)(KActivities::ActivitiesCache * const, const 
QList &)) 0x77e65010 
 const&)>, 
watcher=0x556711e0, this=) at 
/usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:156
#24 KActivities::ActivitiesCache::setAllActivitiesFromReply (this=, 

Bug#915607: prelink breaks kwallet5d, plasmashell on amd64

2018-12-05 Thread Arthur Marsh
Package: prelink
Version: 0.0.20131005-1
Severity: normal

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?

kdewallet and plasmashell crashing when attempting to restart them

   * What exactly did you do (or not do) that was effective (or
 ineffective)?

reinstalling libkf5wallet-bin and plasma-workspace respectively restored 
operation, running prelink on the /usr/bin/kwalletd5 and /usr/bin/plasmashell
binaries again broke their behaviour.

   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***


-- System Information:
Distributor ID: Devuan
Description:Devuan GNU/Linux beowulf/ceres
Release:10
Codename:   n/a
Architecture: x86_64

Kernel: Linux 4.20.0-rc5+ (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: sysvinit (via /sbin/init)

Versions of packages prelink depends on:
ii  execstack  0.0.20131005-1

prelink recommends no packages.

prelink suggests no packages.

-- Configuration Files:
/etc/prelink.conf changed:
-b *.la
-b *.png
-b *.py
-b *.pl
-b *.pm
-b *.sh
-b *.xml
-b *.xslt
-b *.a
-b *.js
-b /lib/modules
-b /usr/lib/locale
-l /usr/local/sbin
-l /sbin
-l /usr/sbin
-l /usr/local/bin
-l /bin
-l /usr/bin
-l /usr/games
-l /usr/local/lib
-l /lib
-l /usr/lib


-- no debconf information