Show process start error string in logs (#5644)
Some checks failed
Nix / Build (aarch64-darwin) (push) Has been cancelled
Nix / Build (x86_64-linux) (push) Has been cancelled
Nix / Build (aarch64-linux) (push) Has been cancelled

This commit is contained in:
Alexandru Ionut Tripon 2026-06-17 09:57:12 +00:00 committed by GitHub
commit f654ce8212
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 13 additions and 6 deletions

View file

@ -114,7 +114,7 @@ void LoggedProcess::on_error(QProcess::ProcessError error)
{
switch (error) {
case QProcess::FailedToStart: {
emit log({ tr("The process failed to start.") }, MessageLevel::Fatal);
emit log({ tr("The process failed to start: %1").arg(errorString()) }, MessageLevel::Fatal);
changeState(LoggedProcess::FailedToStart);
break;
}

View file

@ -179,13 +179,20 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status)
void JavaChecker::error(QProcess::ProcessError err)
{
if (err == QProcess::FailedToStart) {
qDebug() << "Java checker has failed to start.";
qDebug() << "Java checker has failed to start:" << process->errorString();
qDebug() << "Process environment:";
qDebug() << process->environment();
qDebug() << "Native environment:";
qDebug() << QProcessEnvironment::systemEnvironment().toStringList();
killTimer.stop();
emit checkFinished({ m_path, m_id });
Result result = {
m_path,
m_id,
};
result.errorLog = process->errorString();
result.validity = Result::Validity::Errored;
emit checkFinished(result);
}
emitSucceeded();
}

View file

@ -164,9 +164,9 @@ void LauncherPartLaunch::on_state(LoggedProcess::State state)
switch (state) {
case LoggedProcess::FailedToStart: {
//: Error message displayed if instace can't start
const char* reason = QT_TR_NOOP("Could not launch Minecraft!");
emit logLine(reason, MessageLevel::Fatal);
emitFailed(tr(reason));
const char* reason = QT_TR_NOOP("Could not launch Minecraft: %1");
emit logLine(QString(reason).arg(m_process.errorString()), MessageLevel::Fatal);
emitFailed(tr(reason).arg(m_process.errorString()));
return;
}
case LoggedProcess::Aborted: