swaggo / swag

Automatically generate RESTful API documentation with Swagger 2.0 for Go.
MIT License
10.45k stars 1.19k forks source link

invalid memory address or nil pointer dereference #1152

Open langlanglanglanglang opened 2 years ago

langlanglanglanglang commented 2 years ago

Describe the bug swag init --parseDependency has panic swag init success So I suspect it has something to do with --parseDependency

To Reproduce Steps to reproduce the behavior:

  1. swag init --parseDependency
  2. wait 2min...
  3. see error

Expected behavior It`s ok

Screenshots

image

Your swag version 1.8.0

Your go version 1.16.3

Desktop (please complete the following information):

Additional context panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x148c1bc]

goroutine 1 [running]: github.com/swaggo/swag.(Parser).getRefTypeSchema(0xc0001d1860, 0xc006258460, 0x0, 0x1637a01) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:886 +0x2bc github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc000e12490, 0xd, 0xc001176780, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:836 +0xa6e github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc001176780, 0xc000e152c0, 0xc009a46b40, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc001176780, 0xc00124a570, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001176780, 0x1640960, 0xc000b1d470, 0x0, 0x1, 0xc, 0xc010143f08) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc006ada3e0, 0xc006ada3e0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001c0cb40, 0xc, 0xc001bbda00, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc001bbda00, 0xc001c1d200, 0xc009a40d80, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc001bbda00, 0xc001c172c0, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001bbda00, 0x1640960, 0xc001c14828, 0x0, 0x1, 0xf, 0xc010143e90) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc0050ef4c0, 0xc0050ef4c0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001799c10, 0xf, 0xc0017b4d00, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc0017b4d00, 0xc0017c5ac0, 0xc009a3c900, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc0017b4d00, 0xc0017c16b0, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0017b4d00, 0x1640960, 0xc0017b1218, 0x0, 0x1, 0x12, 0xc00505aac0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc0041ff180, 0xc0041ff180, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc00154a270, 0x12, 0xc00152f080, 0x1, 0x15225a0, 0x1, 0x10) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00152f080, 0x1640630, 0xc00154dea0, 0x1586701, 0xc0018fbee0, 0xc0099a5e08, 0x10e12b7) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1049 +0xc9 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00152f080, 0x1640930, 0xc0015428a0, 0x15a5701, 0x16, 0xc0099a5e60, 0x1) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1053 +0x62d github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00152f080, 0x1640180, 0xc001545260, 0x1637a00, 0xc0080c4f80, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1062 +0x74d github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc00152f080, 0xc001547f00, 0xc009a20000, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1182 +0xa85 github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc00152f080, 0xc001545290, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00152f080, 0x1640960, 0xc0015428b8, 0x0, 0x1, 0x16, 0xc00505a8a0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc006507560, 0xc006507560, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001bd7a40, 0x16, 0xc001e40b00, 0x1, 0x15225a0, 0x1, 0x10) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001e40b00, 0x1640630, 0xc001d8fb60, 0x1586701, 0xc0018fbee0, 0xc0099a6d00, 0x10e12b7) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1049 +0xc9 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001e40b00, 0x1640930, 0xc001d88f00, 0x15a5701, 0x16, 0xc0099a6d58, 0x1) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1053 +0x62d github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001e40b00, 0x1640180, 0xc001afac00, 0x1637a00, 0xc0080b3800, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1062 +0x74d github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc001e40b00, 0xc001d8dc40, 0xc009a0fd40, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1182 +0xa85 github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc001e40b00, 0xc001afb020, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001e40b00, 0x1640960, 0xc001d891a0, 0x0, 0x1, 0xc, 0xc010143860) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc006506a80, 0xc006506a80, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc000a62980, 0xc, 0xc0005c5f80, 0x1, 0x15225a0, 0x1, 0x20) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0005c5f80, 0x1640630, 0xc00175a3c0, 0x1586701, 0xc0018fbee0, 0xc0099a7bf8, 0x10e12b7) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1049 +0xc9 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0005c5f80, 0x1640930, 0xc001d3fec0, 0x15a5701, 0x16, 0xc0099a7c50, 0x1) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1053 +0x62d github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0005c5f80, 0x1640180, 0xc001431260, 0x1637a00, 0xc008091b30, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1062 +0x74d github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc0005c5f80, 0xc0014d5f40, 0xc0099f0b40, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1182 +0xa85 github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc0005c5f80, 0xc001431320, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0005c5f80, 0x1640960, 0xc001d3ff50, 0x0, 0x1, 0x20, 0x40) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc005331ee0, 0xc005331ee0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001682320, 0xc, 0xc00165ae00, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc00165ae00, 0xc0016900c0, 0xc0099eb680, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc00165ae00, 0xc001680960, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00165ae00, 0x1640960, 0xc001686408, 0x0, 0x1, 0x13, 0xc00505a620) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc0042ec1a0, 0xc0042ec1a0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc0016683c0, 0x13, 0xc00165ab00, 0x1, 0x15225a0, 0x1, 0x20) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00165ab00, 0x1640630, 0xc00166d740, 0x1586701, 0xc0018fbee0, 0xc0099a9850, 0x10e12b7) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1049 +0xc9 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00165ab00, 0x1640930, 0xc00165cfc0, 0x15a5701, 0x16, 0xc0099a98a8, 0x1) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1053 +0x62d github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00165ab00, 0x1640180, 0xc00165ff20, 0x1637a00, 0xc008090ec0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1062 +0x74d github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc00165ab00, 0xc0016708c0, 0xc0099e8000, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1182 +0xa85 github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc00165ab00, 0xc00165ff80, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00165ab00, 0x1640960, 0xc00165d170, 0x0, 0x1, 0xb, 0xc0101436f8) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc0042022e0, 0xc0042022e0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc0015545c5, 0xb, 0xc0015a2d80, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc0015a2d80, 0xc00154fd40, 0xc0099c8480, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc0015a2d80, 0xc001556420, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0015a2d80, 0x1640960, 0xc001543230, 0x0, 0x1, 0x6, 0xc009274080) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc0045e5780, 0xc0045e5780, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001d1027a, 0x6, 0xc0006c3180, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc0006c3180, 0xc001d0db40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc0006c3180, 0xc001d0b3e0, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0006c3180, 0x1640960, 0xc0006f8870, 0x0, 0x1, 0x4, 0xc008e15c60) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc006adb380, 0xc006adb380, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001f81160, 0x4, 0xc001fb9100, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc001fb9100, 0xc001f965c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc001fb9100, 0xc001f92a20, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001fb9100, 0x1640960, 0xc001f8e828, 0x0, 0x1, 0x8, 0xc008e15c30) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc004b55420, 0xc004b55420, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001f57d70, 0x8, 0xc001f43c00, 0x1, 0x15225a0, 0x1, 0x20) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001f43c00, 0x1640630, 0xc001f7a3a0, 0x1586701, 0xc0018fbee0, 0xc00bf82f68, 0x10e12b7) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1049 +0xc9 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001f43c00, 0x1640930, 0xc001f67068, 0x15a5701, 0x16, 0xc00bf82fc0, 0x1) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1053 +0x62d github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001f43c00, 0x1640180, 0xc001f78330, 0x1637a00, 0xc007f4d5f0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1062 +0x74d github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc001f43c00, 0xc001f76e40, 0xc00905db00, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1182 +0xa85 github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc001f43c00, 0xc001f78360, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001f43c00, 0x1640960, 0xc001f67080, 0x0, 0x1, 0x4, 0xc008e15b04) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc005e62100, 0xc005e62100, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001e47ca8, 0x4, 0xc001e41880, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc001e41880, 0xc001e6a240, 0xc008f71200, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc001e41880, 0xc001e68b40, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc001e41880, 0x1640960, 0xc001e596c8, 0x0, 0x1, 0x8, 0x10) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc00493a8a0, 0xc00493a8a0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc001081fc0, 0x9, 0xc00134aa80, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc00134aa80, 0xc00112dd40, 0xc008ec2b40, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc00134aa80, 0xc001316750, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00134aa80, 0x1640960, 0xc0010c1c38, 0x0, 0x1, 0x6, 0xc008e15720) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc004960780, 0xc004960780, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc00187b6fa, 0x6, 0xc00183de00, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc00183de00, 0xc00189c980, 0xc008eb5200, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc00183de00, 0xc00188ee40, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc00183de00, 0x1640960, 0xc001898180, 0x0, 0x1, 0x7, 0xc008e15650) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc0065016c0, 0xc0065016c0, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(Parser).getTypeSchema(0xc0001d1860, 0xc0018ad5c7, 0x7, 0xc0018b7100, 0x1, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb github.com/swaggo/swag.(Parser).parseStructField(0xc0001d1860, 0xc0018b7100, 0xc0018cd2c0, 0xc008eaa6c0, 0x0, 0x0, 0x0, 0x0, 0x0) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1179 +0xb0e github.com/swaggo/swag.(Parser).parseStruct(0xc0001d1860, 0xc0018b7100, 0xc0018cb860, 0x18e94a0, 0xc000137f90, 0x15c2200) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1094 +0x105 github.com/swaggo/swag.(Parser).parseTypeExpr(0xc0001d1860, 0xc0018b7100, 0x1640960, 0xc0018d00c0, 0x0, 0x1, 0x4, 0x8) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:1045 +0x6bb github.com/swaggo/swag.(Parser).ParseDefinition(0xc0001d1860, 0xc006253960, 0xc006253960, 0x19197e0, 0x1919700) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:952 +0x31a github.com/swaggo/swag.(*Parser).getTypeSchema(0xc0001d1860, 0xc0009a5bd9, 0x12, 0xc000d8a780, 0xffffffffffffff01, 0xc007ef2a30, 0x10, 0x10) /Users/lang/WorkSpace/Go/pkg/mod/github.com/swaggo/swag@v1.8.0/parser.go:833 +0x9cb

ubogdan commented 2 years ago

We need the piece of code that generates this panic, otherwise, we don't be able to reproduce and debug.

langlanglanglanglang commented 2 years ago

We need the piece of code that generates this panic, otherwise, we don't be able to reproduce and debug.

It's a very big project, and I don't know which piece of code is at fault, and I can't give you the whole project because of the privacy agreement

langlanglanglanglang commented 2 years ago

I just tried v1.6.0 and found it works,It could be a bug caused by a subsequent iteration

langlanglanglanglang commented 2 years ago

After a few tests, it was 1.7.3 that started to go wrong

ubogdan commented 2 years ago

@langlanglanglanglang There are a lot of changes made to swag in the latest versions. We struggle to add new improvements in every release and retain the stability and compatibility with the older versions as much as possible. I can only guess from the output it's a recursion issue caused by some kind of declaration that it's referencing itself. Can you please perform in-depth research thereby trying to isolate the "endpoints" and you may figure out where the issue is?

jeffreydwalter commented 2 years ago

@ubogdan here's a stack trace from a similar failure I'm encountering:

2022/06/16 23:58:41 Generating sql.NullBool
2022/06/16 23:58:41 Skipping 'sql.NullBool', recursion detected.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x146273f]

goroutine 1 [running]:
github.com/swaggo/swag.(*Parser).getRefTypeSchema(0xc0001e2380, 0xc01434f840, 0x0)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:964 +0x7f
github.com/swaggo/swag.(*Parser).getTypeSchema(0xc0001e2380, {0xc01be1cd00, 0xc}, 0x0?, 0x1)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:912 +0xd4f
github.com/swaggo/swag.(*Parser).parseStructField(0xc0001e2380, 0xc01be83f50?, 0xc01192ba40)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1264 +0x46e
github.com/swaggo/swag.(*Parser).parseStruct(0x14?, 0xc0027c5ad0?, 0xc011936060)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1177 +0xf0
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc0001e2380, 0x1559432?, {0x16219d0?, 0xc01191f1a0?}, 0x6?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1128 +0x3b3
github.com/swaggo/swag.(*Parser).ParseDefinition(0xc0001e2380, 0xc00f5061a0)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1032 +0x445
github.com/swaggo/swag.(*Parser).getTypeSchema(0xc0001e2380, {0xc01be1cb90, 0xb}, 0x155241f?, 0x1)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:909 +0xcce
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc0001e2380, 0xc02422c448?, {0x1621910?, 0xc009bea1e0?}, 0x0?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1141 +0x338
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc0001e2380, 0x161db60?, {0x16219a0?, 0xc009bea1f8?}, 0x50?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1136 +0x376
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc0001e2380, 0xc009be56b0?, {0x16211c0?, 0xc009be56b0?}, 0x1?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1145 +0x3f1
github.com/swaggo/swag.(*Parser).parseStructField(0xc0001e2380, 0xc01be83e60?, 0xc009be12c0)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1267 +0x44c
github.com/swaggo/swag.(*Parser).parseStruct(0x14?, 0xc0027c5ad0?, 0xc009be56e0)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1177 +0xf0
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc0001e2380, 0x1559432?, {0x16219d0?, 0xc009bea210?}, 0xff?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1128 +0x3b3
github.com/swaggo/swag.(*Parser).ParseDefinition(0xc0001e2380, 0xc00f1ea420)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:1032 +0x445
github.com/swaggo/swag.(*Parser).getTypeSchema(0xc0001e2380, {0xc009bd8769, 0x10}, 0xc019bbf950?, 0x1)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:909 +0xcce
github.com/swaggo/swag.(*Operation).parseObjectSchema(0xc01be7f440, {0xc009bd8769, 0x10}, 0x0?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/operation.go:869 +0x1030
github.com/swaggo/swag.(*Operation).parseAPIObjectSchema(0xc009bd8760?, {0xc009bd875c, 0x22}, {0xc009bd8761, 0x6}, {0xc009bd8769, 0x10}, 0x10?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/operation.go:949 +0x3dc
github.com/swaggo/swag.(*Operation).ParseResponseComment(0xc01be7f440, {0xc009bd875c, 0x22}, 0x1566749?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/operation.go:981 +0x14c
github.com/swaggo/swag.(*Operation).ParseComment(0xc01be7f440, {0xc009bd8750?, 0x1?}, 0xc02422d6a8?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/operation.go:140 +0x431
github.com/swaggo/swag.(*Parser).ParseRouterAPIInfo(0xc0001e2380, {0xc0099c9b00, 0x56}, 0xc007c97280)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:785 +0x1aa
github.com/swaggo/swag.rangeFiles(0xc0001dba70, 0xc02422d928)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/packages.go:95 +0x2a6
github.com/swaggo/swag.(*Parser).ParseAPIMultiSearchDir(0xc0001e2380, {0xc000147760?, 0x2?, 0xc0001180f0?}, {0x7ff7bfeff774?, 0x9?}, 0x64)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/parser.go:364 +0x425
github.com/swaggo/swag/gen.(*Gen).Build(0xc000147580, 0xc0001e15f0)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/gen/gen.go:163 +0x525
main.initAction(0xc0001b18c0?)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/cmd/swag/main.go:146 +0x6b5
github.com/urfave/cli/v2.(*Command).Run(0xc0001af680, 0xc0001f04c0)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/command.go:163 +0x5bb
github.com/urfave/cli/v2.(*App).RunContext(0xc0001d4ea0, {0x16220f8?, 0xc000132008}, {0xc000136000, 0xb, 0xb})
    /Users/jeff_walter/Code/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:313 +0xb48
github.com/urfave/cli/v2.(*App).Run(...)
    /Users/jeff_walter/Code/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:224
main.main()
    /Users/jeff_walter/Code/go/pkg/mod/github.com/swaggo/swag@v1.8.3/cmd/swag/main.go:215 +0x55d
router.go:25: running "swag": exit status 2

Process finished with exit code 1
jeffreydwalter commented 2 years ago

I suspect schema is nil in this code:

func (parser *Parser) getRefTypeSchema(typeSpecDef *TypeSpecDef, schema *Schema) *spec.Schema {
    _, ok := parser.outputSchemas[typeSpecDef]
    if !ok {
        existSchema, ok := parser.existSchemaNames[schema.Name] <--- This is line 964 where the panic occurred.
pivaldi commented 5 months ago

Same error here since the last update :( Previous version worked fine…

2024/03/27 21:21:02 Generating qualification.ProjetInvestissement
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x87d64f]

goroutine 1 [running]:
github.com/swaggo/swag.(*tagBaseFieldParser).complementSchema(0xc01f4eab00, 0xc00b43d6a8, {0xc01f4eaca0, 0x2, 0x218?})
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/field_parser.go:459 +0xf8f
github.com/swaggo/swag.(*tagBaseFieldParser).ComplementSchema(0xc01f4eab00, 0xc00b2f2fc0)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/field_parser.go:247 +0xf5
github.com/swaggo/swag.(*Parser).parseStructField(0xc000144400, 0xc007ed44e0?, 0xc007dfe700)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1497 +0x537
github.com/swaggo/swag.(*Parser).parseStruct(0x411ba5?, 0xc020e7d620?, 0xc01b9be420)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1399 +0xca
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc02036e401?, 0x9c96e3?, {0xaa0ba8?, 0xc0207dccd8?}, 0xa8?)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1352 +0x6e
github.com/swaggo/swag.(*Parser).ParseDefinition(0xc000144400, 0xc00b1c3900)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1234 +0x3ef
github.com/swaggo/swag.(*Parser).getTypeSchema(0xc000144400, {0xc01f7ecba1, 0x2a}, 0xd?, 0x1)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1159 +0x979
github.com/swaggo/swag.(*Parser).parseStructField(0xc000144400, 0xc007ed44e0?, 0xc0008db340)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1486 +0x513
github.com/swaggo/swag.(*Parser).parseStruct(0x411ba5?, 0xc020e7d450?, 0xc0008d32c0)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1399 +0xca
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc01a928630?, 0x9c96e3?, {0xaa0ba8?, 0xc0008d67f8?}, 0xa0?)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1352 +0x6e
github.com/swaggo/swag.(*Parser).ParseDefinition(0xc000144400, 0xc005e14d70)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1234 +0x3ef
github.com/swaggo/swag.(*Parser).getTypeSchema(0xc000144400, {0xc01a928618, 0x13}, 0xd?, 0x1)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1159 +0x979
github.com/swaggo/swag.(*Parser).parseStructField(0xc000144400, 0xc01b9be300?, 0xc00095b0c0)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1486 +0x513
github.com/swaggo/swag.(*Parser).parseStruct(0x411ba5?, 0xc020e7d3a0?, 0xc0005e4090)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1399 +0xca
github.com/swaggo/swag.(*Parser).parseTypeExpr(0xc020486d60?, 0x9c96e3?, {0xaa0ba8?, 0xc0007ad9c8?}, 0xe8?)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1352 +0x6e
github.com/swaggo/swag.(*Parser).ParseDefinition(0xc000144400, 0xc006a44a50)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1234 +0x3ef
github.com/swaggo/swag.(*Parser).getTypeSchema(0xc000144400, {0xc0000a7c19, 0x14}, 0x51?, 0x0)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1159 +0x979
github.com/swaggo/swag.(*Operation).ParseParamComment(0xc0134467e0, {0xc0000a7c0b, 0x60}, 0x2?)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/operation.go:272 +0x765
github.com/swaggo/swag.(*Operation).ParseComment(0xc0134467e0, {0xc0000a7c00?, 0x1?}, 0xe?)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/operation.go:145 +0x198
github.com/swaggo/swag.(*Parser).ParseRouterAPIInfo(0xc000144400, 0xc000960680)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:1006 +0x1ce
github.com/swaggo/swag.(*PackagesDefinitions).RangeFiles(0xc00016d680, 0xc00b441780)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/packages.go:107 +0x29d
github.com/swaggo/swag.(*Parser).ParseAPIMultiSearchDir(0xc000144400, {0xc000171440, 0x1, 0x0?}, {0x7ffcf799c908, 0x11}, 0x64)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/parser.go:454 +0x645
github.com/swaggo/swag/gen.(*Gen).Build(0xc00016d4a0, 0xc000126420)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/gen/gen.go:217 +0x8eb
main.initAction(0xc000162a80?)
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/cmd/swag/main.go:225 +0xab3
github.com/urfave/cli/v2.(*Command).Run(0xc0000fcc60, 0xc0000abc80)
    /home/pi/code/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/command.go:163 +0x583
github.com/urfave/cli/v2.(*App).RunContext(0xc000180000, {0xaa1d38?, 0xe2f780}, {0xc0000ae050, 0x5, 0x5})
    /home/pi/code/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:313 +0xaa5
github.com/urfave/cli/v2.(*App).Run(...)
    /home/pi/code/go/pkg/mod/github.com/urfave/cli/v2@v2.3.0/app.go:224
main.main()
    /home/pi/code/go/pkg/mod/github.com/swaggo/swag@v1.16.3/cmd/swag/main.go:303 +0x54c

qualification.ProjetInvestissement is a very simple

package qualification

type ProjetInvestissement int64
type ObjectifInvestissement int64
type DestinataireInvestissement int64

const (
    CebwrgVairfgPbafgehverZbaCngevzbvar ProjetInvestissement = iota + 1
    CebwrgVairfgTrereYnCerffvbaSvfpnyr
    CebwrgVairfgCebgrtreZbaCngevzbvar
    CebwrgVairfgCercnereZnErgenvgr
    CebwrgVairfgGenafzrggerHaCngevzbvar
)

const (
    BowrpgvsVairfgCrepribveErirahfErthyvref ObjectifInvestissement = iota + 1
    BowrpgvsVairfgInybevfreZbaPncvgny
    BowrpgvsVairfgQvirefvsvre
    BowrpgvsVairfgGenafzrggerHaPncvgny
    BowrpgvsVairfgQrsvfpnyvfre
    BowrpgvsVairfgNhger
)

const (
    QrfgVairfgZbv DestinataireInvestissement = iota + 1
    QrfgVairfgZrfRasnagf
    QrfgVairfgZbaPbawbvagRgZbv
    QrfgVairfgNhger
)