@Martchus Thank you!
Search Criteria
Package Details: mingw-w64-qt5-serialport 5.15.16+kde+r0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/mingw-w64-qt5-serialport.git (read-only, click to copy) |
---|---|
Package Base: | mingw-w64-qt5-serialport |
Description: | Provides access to hardware and virtual serial ports (mingw-w64) |
Upstream URL: | https://www.qt.io/ |
Licenses: | custom, GPL3, LGPL3, FDL |
Groups: | mingw-w64-qt5 |
Submitter: | ant32 |
Maintainer: | Martchus |
Last Packager: | Martchus |
Votes: | 5 |
Popularity: | 0.000000 |
First Submitted: | 2013-08-28 23:59 (UTC) |
Last Updated: | 2024-11-25 21:00 (UTC) |
Dependencies (4)
- mingw-w64-qt5-baseAUR
- git (git-gitAUR, git-glAUR) (make)
- mingw-w64-gcc (mingw-w64-gcc132AUR, llvm-mingw-w64-toolchain-ucrt-binAUR, llvm-mingw-w64-toolchain-msvcrt-binAUR) (make)
- mingw-w64-pkg-configAUR (llvm-mingw-w64-pkg-configAUR) (make)
Required by (2)
Sources (1)
Genues commented on 2019-09-16 15:03 (UTC)
Martchus commented on 2019-09-16 14:40 (UTC)
@Genues So it is exactly like I suspected: https://codereview.qt-project.org/c/qt/qtserialport/+/273883
And they also just reverted that change. I'll update the package to include the revert.
Genues commented on 2019-09-13 08:37 (UTC) (edited on 2019-09-13 12:05 (UTC) by Genues)
It is BUG in upstream - https://bugreports.qt.io/browse/QTBUG-78086
Upd. @Martchus, maybe you could add a patch to fix it? Thank you.
Martchus commented on 2019-09-12 13:20 (UTC)
If you reverse-apply the suspicious change and can confirm that it works again I'll add the revert/patch to the package.
To file an upstream bug it would make sense to provide a minimum example to reproduce the issue.
Martchus commented on 2019-09-12 13:14 (UTC) (edited on 2019-09-12 13:15 (UTC) by Martchus)
probably the problem is in the assembly for mingw?
Yes, maybe it is a Windows/mingw-64 specific problem. Since I really haven't changed the way this is built I suppose it is a (platform specific) upstream bug.
And you keep the rest of the mingw-w64-qt5-* packages on 5.13.1 while downgrading only mingw-w64-qt5-serialport to 5.13.0? Doing that is not supported but will likely work. And if that works we know that the regression is most likely only caused by changes in qtserialport and none of the other repos.
So far I'd blame the following Windows-specific change in qtserialport:
diff --git a/src/serialport/qwinoverlappedionotifier.cpp b/src/serialport/qwinoverlappedionotifier.cpp
index 615dacc..233ee69 100644
--- a/src/serialport/qwinoverlappedionotifier.cpp
+++ b/src/serialport/qwinoverlappedionotifier.cpp
@@ -129,6 +129,7 @@ public:
HANDLE hSemaphore = nullptr;
HANDLE hResultsMutex = nullptr;
QAtomicInt waiting;
+ QAtomicInt pendingNotifications;
QQueue<IOResult> results;
};
@@ -395,14 +396,17 @@ void QWinOverlappedIoNotifierPrivate::notify(DWORD numberOfBytes, DWORD errorCod
results.enqueue(IOResult(numberOfBytes, errorCode, overlapped));
ReleaseMutex(hResultsMutex);
ReleaseSemaphore(hSemaphore, 1, NULL);
- if (!waiting)
+ if (!waiting && pendingNotifications-- == 0)
emit q->_q_notify();
}
void QWinOverlappedIoNotifierPrivate::_q_notified()
{
- if (WaitForSingleObject(hSemaphore, 0) == WAIT_OBJECT_0)
- dispatchNextIoResult();
+ int n = pendingNotifications.fetchAndStoreAcquire(0);
+ while (--n >= 0) {
+ if (WaitForSingleObject(hSemaphore, 0) == WAIT_OBJECT_0)
+ dispatchNextIoResult();
+ }
}
OVERLAPPED *QWinOverlappedIoNotifierPrivate::dispatchNextIoResult()
Genues commented on 2019-09-12 12:13 (UTC)
@Martchusf,package qt5-serialport from Extra working fine. I. e. probably the problem is in the assembly for mingw? I forgot to specify that the package is installed from repository https://martchus.no-ip.biz/repo/arch/ownstuff
Martchus commented on 2019-09-12 11:35 (UTC)
@Genues I've never used this module myself and don't know its API. But this sounds like an issue to be reported on the upstream bug tracker with a simple example to reproduce it. Maybe git diff v5.13.0..v5.13.1
for that module shows you the problematic changes.
Genues commented on 2019-09-12 10:16 (UTC)
Hi. After update from 5.13 to 5.13.1 not emitted readyRead signal. Downgrade to 5.13 solved problem.
Pinned Comments
Martchus commented on 2016-07-10 19:39 (UTC)