Up to Main Index                              Up to Journal for July, 2017

                     JOURNAL FOR TUESDAY 4TH JULY, 2017
______________________________________________________________________________

SUBJECT: Weekend release delayed
   DATE: Tue  4 Jul 22:04:14 BST 2017

This weekend should have seen WolfMUD v0.0.7 released. I was in the middle of
packaging the release when the server, running tests in the background, dumped
this into its terminal:


  WARNING: DATA RACE
  Read at 0x00c4201793c0 by goroutine 538:
    code.wolfmud.org/WolfMUD.git/attr.(*Inventory).Search()
        .../src/code.wolfmud.org/WolfMUD.git/attr/inventory.go:257 +0x49
    code.wolfmud.org/WolfMUD.git/cmd.Junk()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/junk.go:30 +0x135
    code.wolfmud.org/WolfMUD.git/cmd.(*state).handleCommand()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:184 +0xe9
    code.wolfmud.org/WolfMUD.git/cmd.(*state).script()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:228 +0x346
    code.wolfmud.org/WolfMUD.git/cmd.(*state).scriptNone()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:248 +0x62
    code.wolfmud.org/WolfMUD.git/cmd.Cleanup()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/cleanup.go:58 +0x570
    code.wolfmud.org/WolfMUD.git/cmd.(*state).handleCommand()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:184 +0xe9
    code.wolfmud.org/WolfMUD.git/cmd.(*state).sync()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:156 +0x1a8
    code.wolfmud.org/WolfMUD.git/cmd.Script()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:73 +0x8a
    code.wolfmud.org/WolfMUD.git/event.Queue.func1()
        .../src/code.wolfmud.org/WolfMUD.git/event/event.go:102 +0x7c6

  Previous write at 0x00c4201793c0 by goroutine 523:
    code.wolfmud.org/WolfMUD.git/attr.(*Inventory).Move()
        .../src/code.wolfmud.org/WolfMUD.git/attr/inventory.go:218 +0xf31
    code.wolfmud.org/WolfMUD.git/attr.(*Inventory).Add()
        .../src/code.wolfmud.org/WolfMUD.git/attr/inventory.go:115 +0x6a
    code.wolfmud.org/WolfMUD.git/cmd.Reset()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/reset.go:44 +0x1fb
    code.wolfmud.org/WolfMUD.git/cmd.(*state).handleCommand()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:184 +0xe9
    code.wolfmud.org/WolfMUD.git/cmd.(*state).sync()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:156 +0x1a8
    code.wolfmud.org/WolfMUD.git/cmd.Script()
        .../src/code.wolfmud.org/WolfMUD.git/cmd/state.go:73 +0x8a
    code.wolfmud.org/WolfMUD.git/event.Queue.func1()
        .../src/code.wolfmud.org/WolfMUD.git/event/event.go:102 +0x7c6


Note that I’ve shortened the paths using ‘...’ in the above snippet.

At which point I stopped packaging the release and went off to sob quietly for
a while. Since then I’ve been trying to debug the issue. Actually that’s a
lie, most of the time I’ve spent trying to reproduce the data race. I have no
idea how long this is going to take to sort out, but I’m working on it.

--
Diddymus


  Up to Main Index                              Up to Journal for July, 2017