Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hook doesnt run on push #22466

Closed
Bartabat opened this issue Jan 16, 2023 · 6 comments
Closed

Hook doesnt run on push #22466

Bartabat opened this issue Jan 16, 2023 · 6 comments
Labels
issue/duplicate The issue has already been reported. type/bug

Comments

@Bartabat
Copy link

Description

After updating gitea to 1.18, the pushes were not accepted anymore, I followed the recommendations of this ticket which corresponded to my issue: #22381

Once the LOCAL_ROOT_URL parameter was set, the pushes were accepted again but on the other hand the hooks of the repositories managed by Gitea were not executed anymore and the pushs dosnt showed up anymore on dashboard activiy. I found this ticket #22319 corresponding to the symptoms we noticed, but contrary to the author of the ticket, on my server, Gitea is the only process to use port 3000.

I did a rollback to 1.17.4, then to 1.17.3 (last version used before the upgrade), but the problem of the unexecuted hook was still present.

The LOCAL_ROOT_URL parameter was still present in the conf, once removed, the hook execution was restored.


I was able to reproduce the bug on a VM windows server 2016 standard 64 bits and isolate the combination of factor that in my case prevents the execution of hooks : https + LOCAL_ROOT_URL config item setup, without https the hooks are executed.

The logs I send you are from version 1.17.3 of gitea, version 1.17.4 and 1.18.0 produce the same logs, if needed I can provide them too.

Gitea Version

1.18.0

Can you reproduce the bug on the Gitea demo site?

No

Log Gist

https://gist.github.com/Bartabat/b7aa778754646bf2bc7c5212c1fdd396

Screenshots

Not relevant.

Git Version

2.39.0.windows.2

Operating System

Windows server 2016 essential - 64 bits

How are you running Gitea?

Running as windows service.
Download binary with go-git embedded : https://dl.gitea.io/gitea/1.18.0/gitea-1.18.0-gogit-windows-4.0-amd64.exe

Database

MySQL

@zeripath
Copy link
Contributor

Did you try running the Synchronize hooks admin task after updating the [server] LOCAL_ROOT_URL?

What did you update the LOCAL_ROOT_URL to?

@Bartabat
Copy link
Author

Did you try running the Synchronize hooks admin task after updating the [server] LOCAL_ROOT_URL?

Yes, and I just retry with my testing VM and same result, hooks doesn't execute on push.

2023/01/16 12:44:56 [63c546bf-2] router: completed GET /user/events for 10.0.2.2:56605, 200 OK in 9821.1ms @ events/events.go:19(events.Events)
2023/01/16 12:44:56 ...rvices/cron/tasks.go:141:GetTask() [I] [63c546c8] Getting resync_all_hooks in &{{0 0} resync_all_hooks 0xc00309e8a0 0x2c4e280    0}
2023/01/16 12:44:56 [63c546c8] router: completed POST /admin for 10.0.2.2:56605, 303 See Other in 47.2ms @ admin/admin.go:141(admin.DashboardPost)
2023/01/16 12:44:56 ...s/context/context.go:219:HTML() [D] [63c546c8-3] Template: admin/dashboard
2023/01/16 12:44:57 [63c546c8-3] router: completed GET /admin for 10.0.2.2:56605, 200 OK in 194.5ms @ admin/admin.go:126(admin.Dashboard)
2023/01/16 12:44:57 [63c546c9] router: completed GET /avatars/0b2b05fe74bb39934949e30f95018b4c?size=72 for 10.0.2.2:56605, 200 OK in 2.0ms @ web/base.go:29(avatars)
2023/01/16 12:44:57 [63c546c9-2] router: completed GET /assets/js/eventsource.sharedworker.js?v=1.17.3 for 10.0.2.2:56605, 200 OK in 1.0ms @ public/public.go:42(AssetsHandler)
2023/01/16 12:45:00 [63c5466a-49] router: polling   GET /user/events for 10.0.2.2:56605, elapsed 3276.2ms @ events/events.go:19(events.Events)
2023/01/16 12:47:21 [63c54759] router: completed GET /Bartabat/HelloGitea.git/info/refs?service=git-receive-pack for 10.0.2.2:56616, 401 Unauthorized in 0.0ms @ repo/http.go:532(repo.GetInfoRefs)
2023/01/16 12:47:21 [63c54759-2] router: completed HEAD / for 10.0.2.2:56617, 200 OK in 11.8ms @ web/web.go:130(web.Routes)
2023/01/16 12:47:21 ...dules/git/command.go:179:Run() [D] [63c54759-3] C:\gitea\repositories\bartabat\hellogitea.git: C:\Program Files\Git\mingw64\bin\git.exe -c protocol.version=2 -c uploadpack.allowfilter=true -c uploadpack.allowAnySHA1InWant=true -c credential.helper= receive-pack --stateless-rpc --advertise-refs .
2023/01/16 12:47:21 [63c54759-3] router: completed GET /Bartabat/HelloGitea.git/info/refs?service=git-receive-pack for 10.0.2.2:56616, 200 OK in 40.1ms @ repo/http.go:532(repo.GetInfoRefs)
2023/01/16 12:47:21 [63c54759-5] router: completed HEAD / for 10.0.2.2:56618, 200 OK in 10.8ms @ web/web.go:130(web.Routes)
2023/01/16 12:47:22 [63c5475a] router: completed HEAD / for 10.0.2.2:56619, 200 OK in 11.3ms @ web/web.go:130(web.Routes)
2023/01/16 12:47:22 ...dules/git/command.go:179:Run() [D] [63c5475a-2] C:\gitea\repositories\bartabat\hellogitea.git: C:\Program Files\Git\mingw64\bin\git.exe -c protocol.version=2 -c uploadpack.allowfilter=true -c uploadpack.allowAnySHA1InWant=true -c credential.helper= receive-pack --stateless-rpc C:\gitea\repositories\bartabat\hellogitea.git
2023/01/16 12:47:23 [63c5475a-2] router: completed POST /Bartabat/HelloGitea.git/git-receive-pack for 10.0.2.2:56616, 200 OK in 788.1ms @ repo/http.go:500(repo.ServiceReceivePack)

What did you update the LOCAL_ROOT_URL to?

I'm not sure to understand, I'm not a very good english speeker, but I have update LOCAL_ROOT_URL in section [server] of my app.ini config file, as you can see in the gist I linked previously.

@zeripath
Copy link
Contributor

As per #22370 (comment)

Try running gitea with the environment variable GODEBUG set to netdns=cgo.


This is all related to #22370 and should be fixed by #22467 #22468

I am going to mark this as a duplicate of that.

@zeripath zeripath added the issue/duplicate The issue has already been reported. label Jan 16, 2023
@Bartabat
Copy link
Author

Try running gitea with the environment variable GODEBUG set to netdns=cgo.

I just tried, on gitea 1.18.0 without LOCAL_ROOT_URL set, and same result as my starting point with 1.18.0, push are refused with this error on client side :

Unable to contact gitea: Post "https://localhost:3000/api/internal/hook/pre-receive/Bartabat/HelloGitea": dial tcp: lookup localhost on 10.0.2.3:53: no such host        
To https://giteatest.local:3000/Bartabat/HelloGitea.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://giteatest.local:3000/Bartabat/HelloGitea.git'

With LOCAL_ROOT_URL set, push are accepted but hooks are not executed.

I don't know if gitea takes the environment variable into account, I don't see anything about it in the logs when the process starts.

The variable is well defined, I can display it from the command prompt

C:\gitea>echo %GODEBUG%
netdns=cgo

@zeripath
Copy link
Contributor

I don't know what you've done but your hooks haven't been updated when you updated the LOCAL_ROOT_URL:

Unable to contact gitea: Post "https://localhost:3000/api/internal/hook/pre-receive/Bartabat/HelloGitea":

I thought you said you'd set your LOCAL_ROOT_URL to http://127.0.0.1:3000/?


In terms of the workaround GODEBUG environment variable, if thas has been set it should also propagate to any calls of hooks within http. So I'm not sure that you've set that correctly either.


However, there is a fix already available. Download and run the current 1.18-dev from:

https://dl.gitea.io/gitea/1.18

@Bartabat
Copy link
Author

Sorry, maybe I should have said this earlier but yes when I use the LOCAL_ROOT_URL parameter, it has the value http://127.0.0.1:3000.

In my report of the previous post, I defined the environment variable GODEBUG and then I tested to push a first time without the parameter LOCAL_ROOT_URL defined in the config (the logs provided are from that case), then I tested to push a second time with this time the parameter LOCAL_ROOT_URL defined.


Your version 1.18-dev solve all my issues, push are accepted and hooks executed, thanks for your time.

@go-gitea go-gitea locked and limited conversation to collaborators May 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
issue/duplicate The issue has already been reported. type/bug
Projects
None yet
Development

No branches or pull requests

2 participants