Panic: unrecognized repo unit type: 8 #5134

Closed
opened 2025-11-02 06:15:27 -06:00 by GiteaMirror · 6 comments
Owner

Originally created by @silverwind on GitHub (Mar 27, 2020).

  • Gitea version (or commit ref): e6baa656f7
  • Git version: 2.26.0
  • Operating system: Linux
  • Database: MariaDB 15.1

Description

Opening a repo page results in below panic. May be related to c61b902538.

2020/03/27 13:32:26 ...les/context/panic.go:35:1() [E] PANIC:: unrecognized repo unit type: 8
        code.gitea.io/gitea/models/repo_unit.go:132 (0x10365c2)
        code.gitea.io/gitea/vendor/xorm.io/xorm/session.go:409 (0xbb0343)
        code.gitea.io/gitea/vendor/xorm.io/xorm/session.go:374 (0xbafdde)
        code.gitea.io/gitea/vendor/xorm.io/xorm/session_find.go:232 (0xbc454e)
        code.gitea.io/gitea/vendor/xorm.io/xorm/session_find.go:148 (0xbc368e)
        code.gitea.io/gitea/vendor/xorm.io/xorm/session_find.go:31 (0xbc2d83)
        code.gitea.io/gitea/models/repo_unit.go:174 (0x1036a2f)
        code.gitea.io/gitea/models/repo.go:404 (0x100e463)
        code.gitea.io/gitea/models/repo_permission.go:186 (0x1031fb9)
        code.gitea.io/gitea/models/repo_permission.go:142 (0x10dddeb)
        code.gitea.io/gitea/modules/context/repo.go:318 (0x10ddd93)
        code.gitea.io/gitea/modules/context/repo.go:428 (0x10e3a21)
        /usr/lib/go/src/reflect/value.go:460 (0x496c6a)
                Value.call: call(frametype, fn, args, uint32(frametype.size), uint32(retOffset))
        /usr/lib/go/src/reflect/value.go:321 (0x496173)
                Value.Call: return v.call("Call", in)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:177 (0xbebf8b)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:137 (0xbeb969)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:112 (0x10e2844)
        code.gitea.io/gitea/modules/context/panic.go:39 (0x10e2835)
        /usr/lib/go/src/reflect/value.go:460 (0x496c6a)
                Value.call: call(frametype, fn, args, uint32(frametype.size), uint32(retOffset))
        /usr/lib/go/src/reflect/value.go:321 (0x496173)
                Value.Call: return v.call("Call", in)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:177 (0xbebf8b)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:137 (0xbeb969)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:112 (0x109aae5)
        code.gitea.io/gitea/vendor/gitea.com/macaron/session/session.go:192 (0x109aad0)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:79 (0xc06d60)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:157 (0xbebcb7)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:135 (0xbeba58)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:112 (0xc182e5)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/recovery.go:161 (0xc182d8)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/logger.go:40 (0xc0a923)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:157 (0xbebcb7)
        code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:135 (0xbeba58)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/router.go:187 (0xc194f6)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/router.go:303 (0xc12ef5)
        code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/macaron.go:218 (0xc0bc7a)
        code.gitea.io/gitea/vendor/github.com/gorilla/context/context.go:141 (0xe2ced3)
        /usr/lib/go/src/net/http/server.go:2012 (0x74ea03)
                HandlerFunc.ServeHTTP: f(w, r)
        /usr/lib/go/src/net/http/server.go:2807 (0x751d92)
                serverHandler.ServeHTTP: handler.ServeHTTP(rw, req)
        /usr/lib/go/src/net/http/server.go:1895 (0x74d80b)
                (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req)
        /usr/lib/go/src/runtime/asm_amd64.s:1373 (0x4690b0)
                goexit: BYTE    $0x90   // NOP
Originally created by @silverwind on GitHub (Mar 27, 2020). - Gitea version (or commit ref): https://github.com/go-gitea/gitea/commit/e6baa656f757fd1f2f6ba20c677e0c83422a8739 - Git version: 2.26.0 - Operating system: Linux - Database: MariaDB 15.1 ## Description Opening a repo page results in below panic. May be related to https://github.com/go-gitea/gitea/commit/c61b902538e8e4b2bb83136f190e044a6bbcdd9b. ```` 2020/03/27 13:32:26 ...les/context/panic.go:35:1() [E] PANIC:: unrecognized repo unit type: 8 code.gitea.io/gitea/models/repo_unit.go:132 (0x10365c2) code.gitea.io/gitea/vendor/xorm.io/xorm/session.go:409 (0xbb0343) code.gitea.io/gitea/vendor/xorm.io/xorm/session.go:374 (0xbafdde) code.gitea.io/gitea/vendor/xorm.io/xorm/session_find.go:232 (0xbc454e) code.gitea.io/gitea/vendor/xorm.io/xorm/session_find.go:148 (0xbc368e) code.gitea.io/gitea/vendor/xorm.io/xorm/session_find.go:31 (0xbc2d83) code.gitea.io/gitea/models/repo_unit.go:174 (0x1036a2f) code.gitea.io/gitea/models/repo.go:404 (0x100e463) code.gitea.io/gitea/models/repo_permission.go:186 (0x1031fb9) code.gitea.io/gitea/models/repo_permission.go:142 (0x10dddeb) code.gitea.io/gitea/modules/context/repo.go:318 (0x10ddd93) code.gitea.io/gitea/modules/context/repo.go:428 (0x10e3a21) /usr/lib/go/src/reflect/value.go:460 (0x496c6a) Value.call: call(frametype, fn, args, uint32(frametype.size), uint32(retOffset)) /usr/lib/go/src/reflect/value.go:321 (0x496173) Value.Call: return v.call("Call", in) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:177 (0xbebf8b) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:137 (0xbeb969) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:112 (0x10e2844) code.gitea.io/gitea/modules/context/panic.go:39 (0x10e2835) /usr/lib/go/src/reflect/value.go:460 (0x496c6a) Value.call: call(frametype, fn, args, uint32(frametype.size), uint32(retOffset)) /usr/lib/go/src/reflect/value.go:321 (0x496173) Value.Call: return v.call("Call", in) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:177 (0xbebf8b) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:137 (0xbeb969) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:112 (0x109aae5) code.gitea.io/gitea/vendor/gitea.com/macaron/session/session.go:192 (0x109aad0) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:79 (0xc06d60) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:157 (0xbebcb7) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:135 (0xbeba58) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:112 (0xc182e5) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/recovery.go:161 (0xc182d8) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/logger.go:40 (0xc0a923) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:157 (0xbebcb7) code.gitea.io/gitea/vendor/gitea.com/macaron/inject/inject.go:135 (0xbeba58) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/context.go:121 (0xc06eb8) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/router.go:187 (0xc194f6) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/router.go:303 (0xc12ef5) code.gitea.io/gitea/vendor/gitea.com/macaron/macaron/macaron.go:218 (0xc0bc7a) code.gitea.io/gitea/vendor/github.com/gorilla/context/context.go:141 (0xe2ced3) /usr/lib/go/src/net/http/server.go:2012 (0x74ea03) HandlerFunc.ServeHTTP: f(w, r) /usr/lib/go/src/net/http/server.go:2807 (0x751d92) serverHandler.ServeHTTP: handler.ServeHTTP(rw, req) /usr/lib/go/src/net/http/server.go:1895 (0x74d80b) (*conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req) /usr/lib/go/src/runtime/asm_amd64.s:1373 (0x4690b0) goexit: BYTE $0x90 // NOP ````
Author
Owner

@silverwind commented on GitHub (Mar 27, 2020):

Repo unit types only up to 7 in master and type 8 came from me trying out https://github.com/go-gitea/gitea/pull/8346. I guess I have to manually clean up the database but I wonder if such an error could be handled more gracefully than panicking.

@silverwind commented on GitHub (Mar 27, 2020): Repo unit types only [up to 7](https://github.com/go-gitea/gitea/blob/3c07d03c0388d3b86138572401281b51f2db9282/models/unit.go#L18-L27) in master and type 8 came from me trying out https://github.com/go-gitea/gitea/pull/8346. I guess I have to manually clean up the database but I wonder if such an error could be handled more gracefully than panicking.
Author
Owner

@silverwind commented on GitHub (Mar 27, 2020):

Fixed it. FTR:

delete from repo_unit where type=8;
drop table project;
drop table project_board;
@silverwind commented on GitHub (Mar 27, 2020): Fixed it. FTR: ```` delete from repo_unit where type=8; drop table project; drop table project_board; ````
Author
Owner

@zeripath commented on GitHub (Mar 27, 2020):

I agree panic seems rather extreme!

@zeripath commented on GitHub (Mar 27, 2020): I agree panic seems rather extreme!
Author
Owner

@vielmetti commented on GitHub (Sep 5, 2020):

I ran into this.

I set up Docker running latest, and wanted to revert to an earlier version after the most recent release (1.12.4)

My latest now reads "Powered by Gitea Version: 1.13.0+dev-498-g82b71881d".

@vielmetti commented on GitHub (Sep 5, 2020): I ran into this. I set up Docker running latest, and wanted to revert to an earlier version after the most recent release (1.12.4) My latest now reads "Powered by Gitea Version: 1.13.0+dev-498-g82b71881d".
Author
Owner

@zeripath commented on GitHub (Sep 5, 2020):

Downgrades are not explicitly supported - the reason being that the schema changing migration scripts do not have reversing scripts.

The version number in your database will still be a 1.13.x version number - so you will also need to set that back to the 1.12 number or when you come to migrate to 1.13 you'll end up with a partial migration and then report confusing bugs that none of us will be able to work out!

@zeripath commented on GitHub (Sep 5, 2020): Downgrades are not explicitly supported - the reason being that the schema changing migration scripts do not have reversing scripts. The version number in your database will still be a 1.13.x version number - so you will also need to set that back to the 1.12 number or when you come to migrate to 1.13 you'll end up with a partial migration and then report confusing bugs that none of us will be able to work out!
Author
Owner

@vielmetti commented on GitHub (Sep 5, 2020):

Thanks @zeripath - my plan at the moment is to stay on -latest until 1.13 release comes out

@vielmetti commented on GitHub (Sep 5, 2020): Thanks @zeripath - my plan at the moment is to stay on -latest until 1.13 release comes out
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#5134