aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2026-01-14 17:10:32 +0100
committerDmitry Vyukov <dvyukov@google.com>2026-01-15 10:08:05 +0000
commit41cfbc00ddb9f36db18d9e02ddd517d65ae1177c (patch)
treec1c1c006a32dbe2d29e5e9c490d7b65c4fa7bfc0
parent82a2649e8d7d7a5cc81051c0a3520368a98cfbb2 (diff)
dashboard/app: show crash report on AI job page
-rw-r--r--dashboard/app/ai.go27
-rw-r--r--dashboard/app/templates/ai_job.html5
2 files changed, 26 insertions, 6 deletions
diff --git a/dashboard/app/ai.go b/dashboard/app/ai.go
index 511865da3..8d8767832 100644
--- a/dashboard/app/ai.go
+++ b/dashboard/app/ai.go
@@ -8,6 +8,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "html/template"
"net/http"
"slices"
"strings"
@@ -33,8 +34,9 @@ type uiAIJobPage struct {
Header *uiHeader
Job *uiAIJob
// The slice contains the same single Job, just for HTML templates convenience.
- Jobs []*uiAIJob
- Trajectory []*uiAITrajectorySpan
+ Jobs []*uiAIJob
+ CrashReport template.HTML
+ Trajectory []*uiAITrajectorySpan
}
type uiAIJob struct {
@@ -131,12 +133,25 @@ func handleAIJobPage(ctx context.Context, w http.ResponseWriter, r *http.Request
if err != nil {
return err
}
+ var args map[string]any
+ if job.Args.Valid {
+ args = job.Args.Value.(map[string]any)
+ }
+ var crashReport template.HTML
+ if reportID, _ := args["CrashReportID"].(json.Number).Int64(); reportID != 0 {
+ report, _, err := getText(ctx, textCrashReport, reportID)
+ if err != nil {
+ return err
+ }
+ crashReport = linkifyReport(report, args["KernelRepo"].(string), args["KernelCommit"].(string))
+ }
uiJob := makeUIAIJob(job)
page := &uiAIJobPage{
- Header: hdr,
- Job: uiJob,
- Jobs: []*uiAIJob{uiJob},
- Trajectory: makeUIAITrajectory(trajectory),
+ Header: hdr,
+ Job: uiJob,
+ Jobs: []*uiAIJob{uiJob},
+ CrashReport: crashReport,
+ Trajectory: makeUIAITrajectory(trajectory),
}
return serveTemplate(w, "ai_job.html", page)
}
diff --git a/dashboard/app/templates/ai_job.html b/dashboard/app/templates/ai_job.html
index 34c7d39e8..8f2526c63 100644
--- a/dashboard/app/templates/ai_job.html
+++ b/dashboard/app/templates/ai_job.html
@@ -41,6 +41,11 @@ Detailed info on a single AI job execution.
{{end}}
{{end}}
+ {{if .CrashReport}}
+ <br><b>Crash report:</b><br>
+ <div id="crash_div"><pre>{{.CrashReport}}</pre></div><br>
+ {{end}}
+
<table class="list_table">
<caption>Trajectory:</caption>
<thead><tr>