https://bugs.kde.org/show_bug.cgi?id=361105

Henry Hu <henry.hu...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |henry.hu...@gmail.com

--- Comment #1 from Henry Hu <henry.hu...@gmail.com> ---
This also happens for me, with Qt 5.5.1, dolphin 16.04.1, kde frameworks
5.22.0. I've investigated the bug a little. The direct cause of the crash is
calling FD_SET with a large fd (>FD_SETSIZE, which defaults to 1024). This
causes an out-of-bound access and modifies data on the stack, which leads to
the crash. According to the man page, this behavior is undefined.
There are 2 places. First in QProcess (qprocess_unix.cpp,
QProcessPrivate::waitForFinished). Another in QNativeSocketEngine
(qnativesocketengine_unix.cpp, QNativeSocketEngine::nativeSelect). Both places
can have out-of-bound access.
The real reason is that dolphin is using large number of file descriptors. I
tried to increase FD_SETSIZE to 4096, but after some extensive usage of
dolphin, the file descriptor count still grows past it.
In Qt 5.7 the select is replaced with poll, which should fix this problem. But
the real problem is still there, dolphin should not open large number of files
at the same time.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to