-
- Notifications
You must be signed in to change notification settings - Fork 6.1k
Open
Labels
Description
Description
Needs feedback
Can't seem to merge a pull request
When creating a simple pull request from the UI and then trying to "create merge commit"
gitea server errors out with below log
Possibly introduced by this commit 69f5ee9
gitea/modules/git/gitcmd/command.go
Line 473 in 03fce8f
panic("stdout and stderr field must be nil when using RunStdBytes") |
panics because c.opts.Stdout
and c.opts.Stderr
and not nil
gitea/modules/git/gitcmd/command.go
Line 471 in 03fce8f
if c.opts.Stdout != nil || c.opts.Stderr != nil { |
Debugger shows c.opts.Stdout
and c.opts.Stderr
are not nil and are initialized to
io.Writer(*strings.Builder) *{addr: *strings.Builder nil, buf: []uint8 len: 0, cap: 0, nil}

Gitea Version
main 03fce8f
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots

logs:
2025/10/08 15:42:56 HTTPRequest [W] router: failed POST /gitea_admin/merge-me/pulls/1/merge for [::1]:57214, panic in 212.7ms @ repo/pull.go:1014(repo.MergePullRequest), err=stdout and stderr field must be nil when using RunStdBytes 2025/10/08 15:42:56 routers/common/errpage.go:25:RenderPanicErrorPage() [E] PANIC: stdout and stderr field must be nil when using RunStdBytes /usr/local/go/src/runtime/panic.go:783 (0x10090eaff) gopanic: fn() /Users/heziaharon/Documents/repos/gitea/modules/web/routing/logger_manager.go:116 (0x1019792cb) (*requestRecordsManager).handler-fm.(*requestRecordsManager).handler.func1.1: panic(localPanicErr) /usr/local/go/src/runtime/panic.go:783 (0x10090eaff) gopanic: fn() /Users/heziaharon/Documents/repos/gitea/modules/git/gitcmd/command.go:473 (0x101139cf3) (*Command).runStdBytes: panic("stdout and stderr field must be nil when using RunStdBytes") /Users/heziaharon/Documents/repos/gitea/modules/git/gitcmd/command.go:461 (0x1011399cb) (*Command).RunStdString: stdoutBytes, stderrBytes, runErr := c.WithParentCallerInfo().runStdBytes(ctx) /Users/heziaharon/Documents/repos/gitea/services/pull/merge_prepare.go:76 (0x102048387) createTemporaryRepoForMerge: trackingCommitID, _, err := mergeCtx.PrepareGitCmd(gitcmd.NewCommand("show-ref", "--hash").AddDynamicArguments(git.BranchPrefix + trackingBranch)).RunStdString(ctx) /Users/heziaharon/Documents/repos/gitea/services/pull/merge.go:331 (0x102044047) doMergeAndPush: mergeCtx, cancel, err := createTemporaryRepoForMerge(ctx, pr, doer, expectedHeadCommitID) /Users/heziaharon/Documents/repos/gitea/services/pull/merge.go:262 (0x102043853) Merge: _, err = doMergeAndPush(ctx, pr, doer, mergeStyle, expectedHeadCommitID, message, repo_module.PushTriggerPRMergeToBase) /Users/heziaharon/Documents/repos/gitea/routers/web/repo/pull.go:1115 (0x1029938c3) MergePullRequest: if err := pull_service.Merge(ctx, pr, ctx.Doer, ctx.Repo.GitRepo, repo_model.MergeStyle(form.Do), form.HeadCommitID, message, false); err != nil { /usr/local/go/src/reflect/value.go:581 (0x10099508f) Value.call: call(frametype, fn, stackArgs, uint32(frametype.Size()), uint32(abid.retOffset), uint32(frameSize), ®Args) /usr/local/go/src/reflect/value.go:365 (0x100994563) Value.Call: return v.call("Call", in) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:161 (0x101981467) toHandlerProvider.func1.1: ret := fn.Call(argsIn) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/chain.go:31 (0x101979b8b) (*ChainHandler).ServeHTTP: c.chain.ServeHTTP(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:477 (0x10197c66b) (*Mux).routeHTTP: h.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/middleware/get_head.go:37 (0x1029176a7) GetHead.func1: next.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:168 (0x1019814bb) toHandlerProvider.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/services/context/context.go:210 (0x101ed05b3) Contexter.func1.1: next.ServeHTTP(ctx.Resp, ctx.Req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/gitea.com/go-chi/session@v0.0.0-20250926004215-636cadd82e15/session.go:257 (0x10192bc0b) Sessioner.func1.1: next.ServeHTTP(w, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:73 (0x10197a663) (*Mux).ServeHTTP: mx.handler.ServeHTTP(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:321 (0x10197bc53) (*Mux).Mount.func1: handler.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:477 (0x10197c66b) (*Mux).routeHTTP: h.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:73 (0x10197a663) (*Mux).ServeHTTP: mx.handler.ServeHTTP(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:321 (0x10197bc53) (*Mux).Mount.func1: handler.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:477 (0x10197c66b) (*Mux).routeHTTP: h.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/routing/logger_manager.go:122 (0x101979187) (*requestRecordsManager).handler-fm.(*requestRecordsManager).handler.func1: next.ServeHTTP(w, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/chi-middleware/proxy@v1.1.1/middleware.go:37 (0x10287523b) ForwardedHeadersHandler.ForwardedHeaders.func1.1: h.ServeHTTP(w, r) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/routers/common/middleware.go:78 (0x1028774df) ProtocolMiddlewares.RequestContextHandler.func2.1: next.ServeHTTP(respWriter, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/routers/common/middleware.go:93 (0x10287713b) ProtocolMiddlewares.ChiRoutePathHandler.func1.1: next.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/handler.go:125 (0x101981883) toHandlerProvider.wrapHandlerProvider[...].func2.1: h.ServeHTTP(resp, req) /usr/local/go/src/net/http/server.go:2322 (0x100d72017) HandlerFunc.ServeHTTP: f(w, r) /Users/heziaharon/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.3/mux.go:90 (0x10197a623) (*Mux).ServeHTTP: mx.handler.ServeHTTP(w, r) /Users/heziaharon/Documents/repos/gitea/modules/web/router.go:243 (0x10198306b) (*Router).normalizeRequestPath: next.ServeHTTP(resp, req) /Users/heziaharon/Documents/repos/gitea/modules/web/router.go:181 (0x101982b6f) (*Router).ServeHTTP: r.normalizeRequestPath(w, req, r.chiRouter) /usr/local/go/src/net/http/server.go:3340 (0x100d8f1ff) serverHandler.ServeHTTP: handler.ServeHTTP(rw, req) /usr/local/go/src/net/http/server.go:2109 (0x100d70407) (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req) /usr/local/go/src/runtime/asm_arm64.s:1268 (0x100917503) goexit: MOVD R0, R0 // NOP
Git Version
2.39.5
Operating System
macos
How are you running Gitea?
Local setup make watch
Database
PostgreSQL