Summary: | kde connect crashes on sleep | ||
---|---|---|---|
Product: | [Applications] kdeconnect | Reporter: | prasol258 <prasol258> |
Component: | plasmoid | Assignee: | Albert Vaca Cintora <albertvaka> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | cwo.kde, kde, me, p.r.worrall, stepien241 |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | NixOS | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
prasol258@gmail.com
2024-10-04 23:11:57 UTC
I'm aware bluetooth support is in beta, but this is exactly why im reporting this I have the same issue. Here's my bug report (w/ backtrace). ---- Bug report fron DrKonqi ---- Application: kdeconnectd (24.08.2) ApplicationNotResponding [ANR]: false Qt Version: 6.8.0 Frameworks Version: 6.7.0 Operating System: Linux 6.11.5-2-cachyos x86_64 Windowing System: X11 Distribution: "Arch Linux" DrKonqi: 6.2.2 [CoredumpBackend] -- Backtrace: Application: KDE Connect Daemon (kdeconnectd), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} warning: Can't open file anon_inode:i915.gem which was expanded to anon_inode:i915.gem during file-backed mapping note processing [New LWP 32005] [New LWP 32039] [New LWP 32008] [New LWP 32040] [New LWP 32007] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `/usr/bin/kdeconnectd'. Program terminated with signal SIGSEGV, Segmentation fault. #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; [Current thread is 1 (Thread 0x72e89018b9c0 (LWP 32005))] Cannot QML trace cores :( /usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:516: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). boot_time = datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S') /usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:533: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). 'timestamp': datetime.utcnow().isoformat(), [Current thread is 1 (Thread 0x72e89018b9c0 (LWP 32005))] Thread 5 (Thread 0x72e88f7156c0 (LWP 32007)): #0 0x000072e89431abb0 in __GI_ppoll (fds=fds@entry=0x5732cee9a2c0, nfds=nfds@entry=5, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:42 #1 0x000072e8937b1227 in ppoll (__fds=0x5732cee9a2c0, __nfds=5, __timeout=0x0, __ss=0x0) at /usr/include/bits/poll2.h:101 #2 g_main_context_poll_unlocked (priority=<optimized out>, context=0x72e888000cb0, timeout_usec=<optimized out>, fds=0x5732cee9a2c0, n_fds=5) at ../glib/glib/gmain.c:4591 #3 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x72e888000cb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4268 #4 0x000072e89374da55 in g_main_context_iteration (context=0x72e888000cb0, may_block=1) at ../glib/glib/gmain.c:4338 #5 0x000072e894bbf71d in QEventDispatcherGlib::processEvents (this=0x72e888000ba0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396 #6 0x000072e894964566 in QEventLoop::processEvents (this=0x72e88f714b20, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100 #7 QEventLoop::exec (this=0x72e88f714b20, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191 #8 0x000072e894a57072 in QThread::exec (this=this@entry=0x72e8960e3b20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74 #9 0x000072e89605879e in QDBusConnectionManager::run (this=0x72e8960e3b20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusconnectionmanager.cpp:144 #10 0x000072e894ad840f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335 #11 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263 #12 QThreadPrivate::start (arg=0x72e8960e3b20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294 #13 0x000072e8942a339d in start_thread (arg=<optimized out>) at pthread_create.c:447 #14 0x000072e89432849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 4 (Thread 0x72e8775fe6c0 (LWP 32040)): #0 0x000072e89429fa19 in __futex_abstimed_wait_common64 (private=0, futex_word=0x5732cd9b8fd8, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5732cd9b8fd8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x000072e89429fa9f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5732cd9b8fd8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x000072e8942a2479 in __pthread_cond_wait_common (cond=0x5732cd9b8fb0, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5732cd9b8fb0, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x000072e8842ced6e in cnd_wait () at ../mesa-24.2.5/src/c11/impl/threads_posix.c:135 #6 0x000072e8842ab77c in util_queue_thread_func () at ../mesa-24.2.5/src/util/u_queue.c:290 #7 0x000072e8842cec9d in impl_thrd_routine () at ../mesa-24.2.5/src/c11/impl/threads_posix.c:67 #8 0x000072e8942a339d in start_thread (arg=<optimized out>) at pthread_create.c:447 #9 0x000072e89432849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 3 (Thread 0x72e88ef146c0 (LWP 32008)): #0 0x000072e89431a63d in __GI___poll (fds=fds@entry=0x72e88ef13a68, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x000072e892a1020b in poll (__timeout=-1, __nfds=1, __fds=0x72e88ef13a68) at /usr/include/bits/poll2.h:39 #2 _xcb_conn_wait (c=c@entry=0x5732cd7c3850, vector=vector@entry=0x0, count=count@entry=0x0, cond=<optimized out>) at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_conn.c:510 #3 0x000072e892a11f3d in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x5732cd7c3890, c=0x5732cd7c3850) at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_conn.c:476 #4 xcb_wait_for_event (c=0x5732cd7c3850) at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_in.c:703 #5 0x000072e890135c39 in QXcbEventQueue::run (this=0x5732cd781540) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbeventqueue.cpp:192 #6 0x000072e894ad840f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335 #7 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263 #8 QThreadPrivate::start (arg=0x5732cd781540) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294 #9 0x000072e8942a339d in start_thread (arg=<optimized out>) at pthread_create.c:447 #10 0x000072e89432849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 2 (Thread 0x72e877dff6c0 (LWP 32039)): #0 0x000072e89429fa19 in __futex_abstimed_wait_common64 (private=0, futex_word=0x5732cd9b1cb8, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5732cd9b1cb8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x000072e89429fa9f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5732cd9b1cb8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x000072e8942a2479 in __pthread_cond_wait_common (cond=0x5732cd9b1c90, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5732cd9b1c90, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x000072e8842ced6e in cnd_wait () at ../mesa-24.2.5/src/c11/impl/threads_posix.c:135 #6 0x000072e8842ab77c in util_queue_thread_func () at ../mesa-24.2.5/src/util/u_queue.c:290 #7 0x000072e8842cec9d in impl_thrd_routine () at ../mesa-24.2.5/src/c11/impl/threads_posix.c:67 #8 0x000072e8942a339d in start_thread (arg=<optimized out>) at pthread_create.c:447 #9 0x000072e89432849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 1 (Thread 0x72e89018b9c0 (LWP 32005)): [KCrash Handler] #5 0x000072e894a9926a in QArrayDataPointer<QRingChunk>::constEnd (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qarraydatapointer.h:127 #6 QList<QRingChunk>::end (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qlist.h:631 #7 QList<QRingChunk>::constLast (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qlist.h:652 #8 QRingBuffer::chop (this=0x0, bytes=16384) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qringbuffer.cpp:169 #9 0x000072e894921510 in QIODevicePrivate::QRingBufferRef::chop (this=0x5732cf194fd0, bytes=16384) at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qiodevice_p.h:73 #10 QIODevicePrivate::read (this=0x5732cf194f40, data=0x7fffc7890427 "\376", maxSize=<optimized out>, peeking=false) at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qiodevice.cpp:1099 #11 0x000072e894921f18 in QIODevice::readLineData (this=this@entry=0x5732cf174e30, data=<optimized out>, data@entry=0x72e880007e00 "", maxSize=maxSize@entry=16384) at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qiodevice.cpp:1506 #12 0x000072e8949221fe in QIODevicePrivate::readLine (this=this@entry=0x5732cf194f40, data=0x72e880007e00 "", maxSize=16384, maxSize@entry=16385) at /usr/src/debug/qt6-base/qtbase/src/corelib/io/qiodevice.cpp:1394 #13 0x000072e8949224fe in QIODevice::readLine (this=<optimized out>, maxSize=9223372036854775788, maxSize@entry=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qarraydatapointer.h:119 #14 0x000072e896468e57 in BluetoothLinkProvider::serverDataReceived (this=0x5732cf042d80, peer=..., socket=...) at /usr/include/qt6/QtCore/qsharedpointer_impl.h:274 #15 0x000072e896469725 in operator() (__closure=0x72e88801fbb0) at /usr/src/debug/kdeconnect/kdeconnect-kde-24.08.2/core/backends/bluetooth/bluetoothlinkprovider.cpp:259 #16 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, BluetoothLinkProvider::serverNewConnection()::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:137 #17 QtPrivate::FunctorCallable<BluetoothLinkProvider::serverNewConnection()::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:345 #18 QtPrivate::QCallableObject<BluetoothLinkProvider::serverNewConnection()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x72e88801fba0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:555 #19 0x000072e8949b2229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486 #20 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120 #21 0x000072e8949b2229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486 #22 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120 #23 0x000072e896455c7c in MultiplexChannelState::readyRead (this=<optimized out>) at /usr/src/debug/kdeconnect/build/core/kdeconnectcore_autogen/include/moc_multiplexchannelstate.cpp:215 #24 MultiplexChannel::disconnect (this=0x5732cf174e30) at /usr/src/debug/kdeconnect/kdeconnect-kde-24.08.2/core/backends/bluetooth/multiplexchannel.cpp:35 #25 0x000072e8949b2229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486 #26 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120 #27 0x000072e896457697 in MultiplexChannelState::disconnected (this=<optimized out>) at /usr/src/debug/kdeconnect/build/core/kdeconnectcore_autogen/include/moc_multiplexchannelstate.cpp:234 #28 ConnectionMultiplexer::disconnected (this=0x5732cd7fc0a0) at /usr/src/debug/kdeconnect/kdeconnect-kde-24.08.2/core/backends/bluetooth/connectionmultiplexer.cpp:80 #29 0x000072e8949b2229 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:486 #30 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4120 #31 0x000072e89577fc8e in QBluetoothSocketPrivateBluez::abort (this=0x72e888017fc0) at /usr/src/debug/qt6-connectivity/qtconnectivity/src/bluetooth/qbluetoothsocket_bluez.cpp:381 #32 0x000072e8949b247a in doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4132 #33 0x000072e8949bc708 in QSocketNotifier::activated (this=0x5732cf178530, _t1=..., _t2=<optimized out>, _t3=...) at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:195 #34 QSocketNotifier::event (this=0x5732cf178530, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qsocketnotifier.cpp:327 #35 0x000072e8958fe31a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5732cf178530, e=0x7fffc7890d90) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294 #36 0x000072e8949585a8 in QCoreApplication::notifyInternal2 (receiver=0x5732cf178530, event=0x7fffc7890d90) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1165 #37 0x000072e894bc20f1 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fffc7890d90) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1609 #38 socketNotifierSourceDispatch (source=0x5732cd8edfb0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:77 #39 0x000072e89374e559 in g_main_dispatch (context=0x72e888000f30) at ../glib/glib/gmain.c:3357 #40 0x000072e8937b1157 in g_main_context_dispatch_unlocked (context=0x72e888000f30) at ../glib/glib/gmain.c:4208 #41 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x72e888000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273 #42 0x000072e89374da55 in g_main_context_iteration (context=0x72e888000f30, may_block=1) at ../glib/glib/gmain.c:4338 #43 0x000072e894bbf71d in QEventDispatcherGlib::processEvents (this=0x5732cd912810, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396 #44 0x000072e894964566 in QEventLoop::processEvents (this=0x7fffc78910b0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100 #45 QEventLoop::exec (this=0x7fffc78910b0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191 #46 0x000072e894959a2f in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74 #47 0x000072e8958fa74a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2562 #48 0x00005732a381c89c in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdeconnect/kdeconnect-kde-24.08.2/daemon/kdeconnectd.cpp:196 Same backtrace, Arch Linux, latest. The fact that top 25 frames are pure Qt, makes me think that even if KDE Connect violates some preconditions in the code, Qt should double-check them better than this. Just what on Earth is this QRingBuffer::chop (this=0x0) called from QIODevicePrivate::QRingBufferRef ?? Crash in sentry: https://crash-reports.kde.org/organizations/kde/issues/61350/?project=363&query=&referrer=issue-stream&sort=freq&statsPeriod=14d&stream_index=0 Seems to be the same crash as BUG 486848 and has the same sentry issue linked. *** This bug has been marked as a duplicate of bug 486848 *** (In reply to prasol258@gmail.com from comment #1) > I'm aware bluetooth support is in beta, but this is exactly why im reporting > this I've been trying to reproduce this on my Neon laptop and I'm struggling; do you know what bluetooth hardware the system is running? I'm thinking it could be affected by the drivers. (In reply to ratijas from comment #3) > Same backtrace, Arch Linux, latest. Hmm, I've just tried to reproduce about 10 times on Arch. The workflow I've been trying is having the two devices paired and connected etc via bluetooth, sleep the laptop (launcher -> sleep), wait a few seconds, hit keys on the keyboard to wake the laptop up. It then takes a few seconds (highly variable) whilst bluetooth wakes up and the two devices see each other again etc, but I've not seen any crashes yet :/ I'm configured not to require login after wake from sleep, so it's about as quick-to-desktop as I can think. Is there anything different that you guys are doing that seems like it could be relevent? I think it might be a sideeffect of different sleep states on the bluetooth drivers. The Dell XPS13 9370 i5 I'm using to test has a Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter but it looks like the bluetooth is using btusb (readlink /sys/class/bluetooth/hci0/device/driver). Is bluetooth connected via PCIe on the machine you're experiencing the crashes on? Maybe it wakes more quickly. Actually the machine i tested on is not in working condition anymore lol But I'm pretty sure it had a Realtek wifi card, and it always took it good 10 seconds to wake up and reconnect after suspend. (In reply to prasol258@gmail.com from comment #8) > Actually the machine i tested on is not in working condition anymore lol > > But I'm pretty sure it had a Realtek wifi card, and it always took it good > 10 seconds to wake up and reconnect after suspend. Ah, well that makes reproduction more entertaining then :) Whereabouts in-time did the crash occur? Was it immediate (within 1 second) of waking or was it within the 10 or so seconds to reconnect etc? |