Skip to content

invalid memory address or nil pointer dereference with smartshop #449

@Pivert

Description

@Pivert

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/mapparser@v0.1.9/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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions