[Backport release-11.x] Show process start error string in logs (#5691)
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 22:45:02 +03:00 committed by GitHub
commit 657c3ab601
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) { switch (error) {
case QProcess::FailedToStart: { 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); changeState(LoggedProcess::FailedToStart);
break; break;
} }

View file

@ -179,13 +179,20 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status)
void JavaChecker::error(QProcess::ProcessError err) void JavaChecker::error(QProcess::ProcessError err)
{ {
if (err == QProcess::FailedToStart) { 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() << process->environment(); qDebug() << process->environment();
qDebug() << "Native environment:"; qDebug() << "Native environment:";
qDebug() << QProcessEnvironment::systemEnvironment().toStringList(); qDebug() << QProcessEnvironment::systemEnvironment().toStringList();
killTimer.stop(); 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(); emitSucceeded();
} }

View file

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