@Vadi, about MSP segfault: Well sure. At first, this is with 'classical' MSP. According to Mudlet manual/wiki there is a perl regex sound trigger
^!!SOUND\((\S+?)(?: (.+))?\)$
and a similar music trigger
^!!MUSIC\((\S+?)(?: (.+))?\)$
configured, both with actions
deleteLine()
receiveMSP(matches[1])
All this is with a current development tree build on windows.
At login, the mud does an MSP setup like this:
!!SOUND(Off U=
http://aldebaran-mud.de/sounds)
!!MUSIC(Off U=
http://aldebaran-mud.de/sounds)
No issue with that, but then, a bit later it does:
!!SOUND(Off)
!!SOUND(temple/gong.wav)
this crashes with a segfault here:
1 std::__atomic_base<int>::load atomic_base.h 396 0x8dc014
2 QAtomicOps<int>::loadRelaxed<int> qatomic_cxx11.h 239 0x8dc014
3 QBasicAtomicInteger<int>::loadRelaxed qbasicatomic.h 107 0xa2aa10
4 QtPrivate::RefCount::ref qrefcount.h 55 0xa173db
5 QString::QString qstring.h 1051 0x9d9b71
6 TMediaData::TMediaData TMediaData.h 29 0x8dcdc7
7 TMediaPlayer::getMediaData TMedia.h 62 0xa26040
8 TMedia::<lambda(qint64)>::operator()(qint64) const TMedia.cpp 788 0x795bf4
9 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<long long>, void, TMedia::getMediaPlayer(TMediaData&)::<lambda(qint64)>>::call(TMedia::<lambda(qint64)> &, void * *) qobjectdefs_impl.h 146 0x79a842
10 QtPrivate::Functor<TMedia::getMediaPlayer(TMediaData&)::<lambda(qint64)>, 1>::call<QtPrivate::List<long long>, void>(TMedia::<lambda(qint64)> &, void *, void * *) qobjectdefs_impl.h 256 0x79a7b1
11 QtPrivate::QFunctorSlotObject<TMedia::getMediaPlayer(TMediaData&)::<lambda(qint64)>, 1, QtPrivate::List<long long>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 443 0x79a759
12 void doActivate<false>(QObject *, int, void * *) 0x68dbaea1
13 QMediaPlayer::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *) 0x6b6c5588
14 QMetaMethod::invoke(QObject *, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const 0x68c8f1fb
15 QMediaObjectPrivate::_q_notify() 0x6b683887
16 QMediaObject::qt_static_metacall(QObject *, QMetaObject::Call, int, void * *) 0x6b683b2c
17 void doActivate<false>(QObject *, int, void * *) 0x68dbada4
18 QTimer::timerEvent(QTimerEvent *) 0x68cba1b2
19 QObject::event(QEvent *) 0x68cb1113
20 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x12af7bef
... <More>
*wild* guess: Maybe it tried to stop a non-running sound and hit some NULL ptr?
Of course there could be some interaction with some else done by the mud at this point.. but I don't think so.
This does not happen with released version 4.17.2 , only with the devel tree/build.
If you really want, you can also try to connect to aldebaran-mud.de 2000 (you can use ssl if you want to) and do:
guest
yes
s
e
e
e
s
strike gong
and see for yourself.