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

Tom Moebert <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|REPORTED                    |CONFIRMED

--- Comment #2 from Tom Moebert <[email protected]> ---
No I can't, sry. The archives in question contain data that I'm not willing to
share publicly, even though encrypted.

Instead, I analyzed the problem myself: Ark calls the 7z executable asking it
to uncrypt the archive. This doesn't work, because wrong password. Now, the 7z
exec is spamming the stdout with msgs "ERROR: Data Error in encrypted file.
Wrong password?"

Ark says: "Oh, we've got new input on stdout? Let's handle it!" In
CliInterface::readStdout() we find the wrong password message and kill the
process in CliInterface::killProcess(). There we do m_process->waitForFinished,
which goes back into Qt's event loop. Any more work to do? Yes! Another "ERROR:
Data Error in encrypted file. Wrong password?" Great, let's handle it! We find
the wrong password message, kill the process, wait again, and search for
events. What comes next? Oh, another message on stdout. Let's handle it!

So, if you want to kill the process, I'd suggest to disconnect() the
QProcess::readyReadStandardOutput signal in CliInterface::killProcess().

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

Reply via email to