mapserver icon indicating copy to clipboard operation
mapserver copied to clipboard

invalid memory address or nil pointer dereference with smartshop

Open Pivert opened this issue 4 months ago • 0 comments

Mapserver v4.7.0 suddenly start crashing like this. An upgrade to 4.9.4 didn't change anything. Might it be DB corruption ?

time="2025-09-09T18:10:56Z" level=info msg="Starting mapserver" version=4.9.4
time="2025-09-09T18:10:56Z" level=info msg="DB Migrated" version=2
time="2025-09-09T18:10:56Z" level=info msg="Starting http server" port=8080 webdev=false
time="2025-09-09T18:10:56Z" level=info msg="using embed mode"
time="2025-09-09T18:10:56Z" level=info msg="Starting incremental rendering job" LastMtime=1757356669778
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xa44bd7]

goroutine 27 [running]:
github.com/minetest-go/mapparser.(*Inventory).IsEmpty(...)
        /home/runner/go/pkg/mod/github.com/minetest-go/[email protected]/inventory.go:9
mapserver/mapobject.(*SmartShopBlock).onMapObject(0xc0000b8380?, 0xc000609bf0, 0x5, 0x5, 0xa, 0xc000ef95c0)
        /home/runner/work/mapserver/mapserver/mapobject/smartshop.go:22 +0x217
mapserver/mapobject.(*Listener).OnEvent.func1(...)
        /home/runner/work/mapserver/mapserver/mapobject/listener.go:69
mapserver/coords.IterateMapblock(...)
        /home/runner/work/mapserver/mapserver/coords/iterate_mapblock.go:9
mapserver/mapobject.(*Listener).OnEvent(0xc0000ac000, {0xbe642d?, 0x10?}, {0xafdd00, 0xc00119c120})
        /home/runner/work/mapserver/mapserver/mapobject/listener.go:56 +0xf42
mapserver/eventbus.(*Eventbus).Emit(0xc0006a4d80?, {0xbe642d, 0x11}, {0xafdd00, 0xc00119c120})
        /home/runner/work/mapserver/mapserver/eventbus/eventbus.go:35 +0xc8
mapserver/mapblockaccessor.(*MapBlockAccessor).FindMapBlocksByMtime(0xc0000bd740, 0x1992a9ebb52, 0x2710, {0xc0000aa160, 0x2, 0x7bdbe5?})
        /home/runner/work/mapserver/mapserver/mapblockaccessor/mtime.go:79 +0xa66
mapserver/tilerendererjob.incrementalRender(0xc0000fe000)
        /home/runner/work/mapserver/mapserver/tilerendererjob/incremental.go:27 +0x1be
mapserver/tilerendererjob.Job(0xc0000fe000)
        /home/runner/work/mapserver/mapserver/tilerendererjob/job.go:27 +0x4c
created by main.main in goroutine 1
        /home/runner/work/mapserver/mapserver/main.go:77 +0x35a

Pivert avatar Sep 09 '25 18:09 Pivert