mgmt icon indicating copy to clipboard operation
mgmt copied to clipboard

fatal error: concurrent map read and map write

Open roidelapluie opened this issue 5 years ago • 10 comments

Versions:

  • mgmt version (eg: mgmt --version): mgmt version 0.0.19-21-ga050cff-dirty

  • operating system/distribution (eg: uname -a): Linux oxygen 5.1.1dell #1 SMP Tue May 14 09:39:53 CEST 2019 x86_64 GNU/Linux

  • golang version (eg: go version): go version go1.12 linux/amd64

Description:

When running:

echo 1.0000001 > /tmp/test
import "os"                                                                                                                               
import "fmt"
import "math"
import "strings"
import "example"


$pow = example.str2float(strings.trim_space(os.readfile("/tmp/test")))

file "/tmp/test" {
    content => if $pow > 1.0 { fmt.printf("%f", math.pow($pow, $pow)) } else { "1.0000001" },
}

race.log

roidelapluie avatar May 14 '19 12:05 roidelapluie

Good report thanks!

mgmt version 0.0.19-21-ga050cff-dirty

Can you reproduce this with a clean version please. Dirty means there's some weird junk in there, which means it's very hard for me to know exactly what line in the trace corresponds to what :(

purpleidea avatar May 14 '19 13:05 purpleidea

only patch is #517 which is required to reproduce

roidelapluie avatar May 14 '19 13:05 roidelapluie

mgmt version 0.0.19-21-ga050cff

import "os"                                                                                                                               
import "fmt"
import "math"
import "strings"
import "example"


$str = strings.trim_space(os.readfile("/tmp/test"))

file "/tmp/test" {
    content => if $str == "2" { "1" } else { "2" },
}

roidelapluie avatar May 14 '19 13:05 roidelapluie

@roidelapluie Can you send the logs for that please?

purpleidea avatar May 14 '19 13:05 purpleidea

head:

2019-05-14 15:41:08.985097 I | cli: lang: lexing/parsing...                                                                               
2019-05-14 15:41:08.990087 I | cli: lang: init...
2019-05-14 15:41:08.990108 I | cli: lang: interpolating...
2019-05-14 15:41:08.990167 I | cli: lang: building scope...
2019-05-14 15:41:08.990259 I | cli: lang: running type unification...
2019-05-14 15:41:08.990491 I | cli: lang: input: examples/lang/exherbo.mcl
2019-05-14 15:41:08.990504 I | cli: lang: tree:
.
├── exherbo.mcl                                                                                                                           
└── metadata.yaml                                                                                                                         
This is: mgmt, version: 0.0.19-21-ga050cff
Copyright (C) 2013-2019+ James Shubin and the project contributors
Written by James Shubin <[email protected]> and the project contributors
15:41:08 main: start: 1557841268990519758
15:41:08 main: warning: working prefix directory is temporary!
15:41:08 main: working prefix is: /tmp/mgmt-oxygen-158773216

tail: race2.log

roidelapluie avatar May 14 '19 13:05 roidelapluie

Tentative fix in: https://github.com/purpleidea/mgmt/commit/812fd57c33b7a6d1d432bc5bbea8ea679b13ce96

Thanks for finding this =D

purpleidea avatar May 14 '19 14:05 purpleidea

Close! there is a second race.

roidelapluie avatar May 14 '19 14:05 roidelapluie

goroutine 2289585 [running]:
runtime.throw(0x16e8c4d, 0x21)
        /home/roidelapluie/godist/go/src/runtime/panic.go:617 +0x72 fp=0xc00031cbc0 sp=0xc00031cb90 pc=0x42f982
runtime.mapaccess1(0x14683c0, 0xc000408ff0, 0xc00031ce18, 0x19f9d20)
        /home/roidelapluie/godist/go/src/runtime/map.go:413 +0x265 fp=0xc00031cc08 sp=0xc00031cbc0 pc=0x40fbe5
github.com/purpleidea/mgmt/engine/graph.(*Engine).Worker(0xc00022c460, 0x7f74a99d4f08, 0xc00045eb40, 0x0, 0x0)
        /home/roidelapluie/go/src/github.com/purpleidea/mgmt/engine/graph/actions.go:260 +0x116 fp=0xc00031cf60 sp=0xc00031cc08 pc=0xc949b6
github.com/purpleidea/mgmt/engine/graph.(*Engine).Commit.func1.2.1(0xc00022c460, 0x7f74a99d4f08, 0xc00045eb40)
        /home/roidelapluie/go/src/github.com/purpleidea/mgmt/engine/graph/engine.go:225 +0x135 fp=0xc00031cfc8 sp=0xc00031cf60 pc=0xc9ea35
runtime.goexit()
        /home/roidelapluie/godist/go/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc00031cfd0 sp=0xc00031cfc8 pc=0x45e9e1                        
created by github.com/purpleidea/mgmt/engine/graph.(*Engine).Commit.func1.2                                                               
        /home/roidelapluie/go/src/github.com/purpleidea/mgmt/engine/graph/engine.go:212 +0x105                                            
                                                                                                  

roidelapluie avatar May 14 '19 22:05 roidelapluie

I wasn't able to reproduce this, but I did get a deadlock I think...

I also tried to speed things up with this variant:

# prepare with:
# sudo mkdir -p /tmp/tmpfs/
# sudo mount -t tmpfs -o size=1m tmpfs /mnt/tmpfs
# echo foo > /tmp/tmpfs/test

import "os"
import "strings"

$str = strings.trim_space(os.readfile("/mnt/tmpfs/test"))

file "/mnt/tmpfs/test" {
	content => if $str == "2" { "1" } else { "2" },
}

Not sure if it helps, but maybe.

PC=0x4a1c8a m=0 sigcode=128

goroutine 329 [syscall]:
syscall.Syscall6(0xe8, 0x10, 0xc00099fd5c, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x4)
	/usr/lib/golang/src/syscall/asm_linux_amd64.s:44 +0x5 fp=0xc00099fc90 sp=0xc00099fc88 pc=0x4a1c65
syscall.EpollWait(0x10, 0xc00099fd5c, 0x7, 0x7, 0xffffffffffffffff, 0xffffffffffffffff, 0x1c02560, 0xc0003fb580)
	/usr/lib/golang/src/syscall/zsyscall_linux_amd64.go:1714 +0x72 fp=0xc00099fd00 sp=0xc00099fc90 pc=0x4a1872
github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify%2ev1.(*fdPoller).wait(0xc000953320, 0xc00099fe00, 0x2, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify.v1/inotify_poller.go:85 +0x91 fp=0xc00099fdc8 sp=0xc00099fd00 pc=0xb9e911
github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify%2ev1.(*Watcher).readEvents(0xc00095bc70)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify.v1/inotify.go:179 +0x195 fp=0xc0009affd8 sp=0xc00099fdc8 pc=0xb9dd35
runtime.goexit()
	/usr/lib/golang/src/runtime/asm_amd64.s:1333 +0x1 fp=0xc0009affe0 sp=0xc0009affd8 pc=0x47a931
created by github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify%2ev1.NewWatcher
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify.v1/inotify.go:58 +0x19b

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc000254394)
	/usr/lib/golang/src/runtime/sema.go:56 +0x39
sync.(*WaitGroup).Wait(0xc000254394)
	/usr/lib/golang/src/sync/waitgroup.go:130 +0x64
github.com/purpleidea/mgmt/lib.(*Main).Run(0xc000148000, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/main.go:918 +0x145c
github.com/purpleidea/mgmt/lib.run(0xc0000da420, 0x1956b39, 0x4, 0x1c1b9e0, 0xc000424b00, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/run.go:174 +0xe1b
github.com/purpleidea/mgmt/lib.CLI.func1(0xc0000da420, 0xc000424b00, 0xc0000da420)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/cli.go:260 +0x53
github.com/urfave/cli.HandleAction(0x15feee0, 0xc000226c00, 0xc0000da420, 0x0, 0xc00041d4a0)
	/home/james/code/gopath/src/github.com/urfave/cli/app.go:502 +0xbe
github.com/urfave/cli.Command.Run(0x1956b39, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc00027b8a0, 0x1d, 0x0, ...)
	/home/james/code/gopath/src/github.com/urfave/cli/command.go:165 +0x459
github.com/urfave/cli.(*App).RunAsSubcommand(0xc000494700, 0xc0000da160, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/urfave/cli/app.go:383 +0x827
github.com/urfave/cli.Command.startApp(0x19561e9, 0x3, 0x0, 0x0, 0xc00041a8b0, 0x1, 0x1, 0x19561e9, 0x3, 0x0, ...)
	/home/james/code/gopath/src/github.com/urfave/cli/command.go:377 +0x808
github.com/urfave/cli.Command.Run(0x19561e9, 0x3, 0x0, 0x0, 0xc00041a8b0, 0x1, 0x1, 0x19561e9, 0x3, 0x0, ...)
	/home/james/code/gopath/src/github.com/urfave/cli/command.go:103 +0x80f
github.com/urfave/cli.(*App).Run(0xc000494540, 0xc00003a050, 0x5, 0x5, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/urfave/cli/app.go:259 +0x6bb
github.com/purpleidea/mgmt/lib.CLI(0x1bef914, 0x4, 0x1bfbe20, 0x13, 0x1460000, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/cli.go:386 +0x260d
main.main()
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/main.go:44 +0x5c

goroutine 51 [chan receive]:
github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil.(*MergeLogger).outputLoop(0xc0003ebb00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go:174 +0x39e
created by github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil.NewMergeLogger
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go:92 +0x80

goroutine 98 [chan receive]:
github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil.(*MergeLogger).outputLoop(0xc0003ebf80)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go:174 +0x39e
created by github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil.NewMergeLogger
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go:92 +0x80

goroutine 101 [chan receive]:
github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil.(*MergeLogger).outputLoop(0xc0004ec120)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go:174 +0x39e
created by github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil.NewMergeLogger
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/github.com/coreos/etcd/pkg/logutil/merge_logger.go:92 +0x80

goroutine 106 [syscall]:
os/signal.signal_recv(0x1c096c0)
	/usr/lib/golang/src/runtime/sigqueue.go:139 +0x9c
os/signal.loop()
	/usr/lib/golang/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
	/usr/lib/golang/src/os/signal/signal_unix.go:29 +0x41

goroutine 130 [select]:
github.com/purpleidea/mgmt/lib.run.func2(0xc0004acac0, 0xc000148000, 0xc00004e720)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/run.go:147 +0x1c4
created by github.com/purpleidea/mgmt/lib.run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/run.go:138 +0xe0d

goroutine 132 [select, 1 minutes]:
github.com/purpleidea/mgmt/converger.(*Coordinator).Run(0xc0000d8230, 0x1)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/converger/converger.go:170 +0x2bc
created by github.com/purpleidea/mgmt/lib.(*Main).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/main.go:346 +0x6ee

goroutine 242 [select, 1 minutes]:
github.com/purpleidea/mgmt/converger.(*Coordinator).Pause(0xc0000d8230, 0x1c1d6c0, 0xc000315380)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/converger/converger.go:224 +0x15a
github.com/purpleidea/mgmt/lib.(*Main).Run.func15(0x19c29c8, 0xc000254394, 0xc00000e5c0, 0xc0005085b0, 0xc00000e5c8, 0xc000148000, 0xc0004acad8, 0x5, 0xc00054b2c0, 0xc000485900, ...)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/main.go:686 +0xf97
created by github.com/purpleidea/mgmt/lib.(*Main).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lib/main.go:493 +0x12c4

goroutine 275 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang.(*GAPI).Next.func1(0xc0003fefc0, 0xc000018de0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/gapi.go:478 +0x1cf
created by github.com/purpleidea/mgmt/lang.(*GAPI).Next
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/gapi.go:454 +0x8b

goroutine 330 [select, 1 minutes]:
github.com/purpleidea/mgmt/recwatch.(*RecWatcher).Watch(0xc00060b2c0, 0x19c4a08, 0xc00060b30c)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/recwatch/recwatch.go:180 +0x5f5
github.com/purpleidea/mgmt/recwatch.(*RecWatcher).Init.func1(0xc00060b2c0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/recwatch/recwatch.go:93 +0x73
created by github.com/purpleidea/mgmt/recwatch.(*RecWatcher).Init
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/recwatch/recwatch.go:91 +0x1b1

goroutine 307 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs/core/os.(*ReadFileFunc).Stream(0xc00060b1a0, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/core/os/readfile_func.go:87 +0x1b0
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func3(0xc000209130, 0x1bfe060, 0xc0008b4960)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:416 +0xef
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:410 +0x2c7

goroutine 308 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func4(0xc000209130, 0x1bfe060, 0xc0008b4960)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:438 +0x18f
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:433 +0x321

goroutine 309 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func2(0xc000209130, 0xc000956540, 0x1, 0x1, 0x1bfe060, 0xc0008b49b0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:363 +0x126
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:357 +0x413

goroutine 310 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs/simple.(*simpleFunc).Stream(0xc000945000, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/simple/simple.go:93 +0x346
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func3(0xc000209130, 0x1bfe060, 0xc0008b49b0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:416 +0xef
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:410 +0x2c7

goroutine 311 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func4(0xc000209130, 0x1bfe060, 0xc0008b49b0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:438 +0x18f
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:433 +0x321

goroutine 312 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func2(0xc000209130, 0xc000956560, 0x1, 0x1, 0x1bfe280, 0xc000612c00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:363 +0x126
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:357 +0x413

goroutine 313 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs/structs.(*VarFunc).Stream(0xc00060b200, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/structs/var.go:96 +0x111
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func3(0xc000209130, 0x1bfe280, 0xc000612c00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:416 +0xef
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:410 +0x2c7

goroutine 314 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func4(0xc000209130, 0x1bfe280, 0xc000612c00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:438 +0x18f
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:433 +0x321

goroutine 319 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func2(0xc000209130, 0xc0009454c0, 0x3, 0x4, 0x1bfe060, 0xc0008b4a00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:363 +0x126
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:357 +0x413

goroutine 320 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*OperatorPolyFunc).Stream(0xc000945040, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/operator_polyfunc.go:565 +0x43e
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func3(0xc000209130, 0x1bfe060, 0xc0008b4a00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:416 +0xef
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:410 +0x2c7

goroutine 321 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func4(0xc000209130, 0x1bfe060, 0xc0008b4a00)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:438 +0x18f
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:433 +0x321

goroutine 324 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func2(0xc000209130, 0xc000945580, 0x3, 0x4, 0x1bfe100, 0xc000225600)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:363 +0x126
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:357 +0x413

goroutine 325 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs/structs.(*IfFunc).Stream(0xc000945180, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/structs/if.go:81 +0x10b
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func3(0xc000209130, 0x1bfe100, 0xc000225600)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:416 +0xef
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:410 +0x2c7

goroutine 326 [chan receive, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func4(0xc000209130, 0x1bfe100, 0xc000225600)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:438 +0x18f
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:433 +0x321

goroutine 327 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run.func5(0xc000209130)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:507 +0x132
created by github.com/purpleidea/mgmt/lang/funcs.(*Engine).Run
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/engine.go:500 +0x37d

goroutine 328 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang.(*Lang).Init.func6(0xc0002de500, 0xc00027fc80, 0xc000045360, 0xc000554750)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/lang.go:269 +0x16c
created by github.com/purpleidea/mgmt/lang.(*Lang).Init
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/lang.go:262 +0xcbe

goroutine 331 [select, 1 minutes]:
github.com/purpleidea/mgmt/lang/funcs/core/os.(*ReadFileFunc).Stream.func2(0xc00060b1a0, 0xc0003f6348)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/core/os/readfile_func.go:141 +0x10e
created by github.com/purpleidea/mgmt/lang/funcs/core/os.(*ReadFileFunc).Stream
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/lang/funcs/core/os/readfile_func.go:137 +0x431

goroutine 487625 [select, 1 minutes]:
github.com/purpleidea/mgmt/converger.(*UID).StartTimer.func1(0xc000314840)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/converger/converger.go:440 +0xe5
created by github.com/purpleidea/mgmt/converger.(*UID).StartTimer
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/converger/converger.go:437 +0x1a2

goroutine 487626 [syscall, 1 minutes]:
syscall.Syscall6(0xe8, 0x14, 0xc00072dd5c, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0xc00072dd10, 0x453953)
	/usr/lib/golang/src/syscall/asm_linux_amd64.s:44 +0x5
syscall.EpollWait(0x14, 0xc00072dd5c, 0x7, 0x7, 0xffffffffffffffff, 0x300000002, 0xc0008c2180, 0xc00072dd68)
	/usr/lib/golang/src/syscall/zsyscall_linux_amd64.go:1714 +0x72
github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify%2ev1.(*fdPoller).wait(0xc0005e0760, 0x19c3600, 0xc0005e0760, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify.v1/inotify_poller.go:85 +0x91
github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify%2ev1.(*Watcher).readEvents(0xc000a973b0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify.v1/inotify.go:179 +0x195
created by github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify%2ev1.NewWatcher
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/vendor/gopkg.in/fsnotify.v1/inotify.go:58 +0x19b

goroutine 487622 [select, 1 minutes]:
github.com/purpleidea/mgmt/engine/graph.(*Engine).Worker(0xc000164960, 0x7f19bd3027f8, 0xc0009843c0, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/actions.go:369 +0x6b3
github.com/purpleidea/mgmt/engine/graph.(*Engine).Commit.func1.2.1(0xc000164960, 0x7f19bd3027f8, 0xc0009843c0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/engine.go:225 +0x135
created by github.com/purpleidea/mgmt/engine/graph.(*Engine).Commit.func1.2
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/engine.go:212 +0x105

goroutine 487623 [select, 1 minutes]:
github.com/purpleidea/mgmt/engine/resources.(*FileRes).Watch(0xc0009843c0, 0x0, 0x0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/resources/file.go:225 +0x1c4
github.com/purpleidea/mgmt/engine/graph.(*Engine).Worker.func1(0xc000164960, 0x7f19bd3027f8, 0xc0009843c0, 0x1c25a60, 0xc0009843c0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/actions.go:327 +0x8d9
created by github.com/purpleidea/mgmt/engine/graph.(*Engine).Worker
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/actions.go:270 +0x41d

goroutine 487624 [select, 1 minutes]:
github.com/purpleidea/mgmt/engine/graph.(*Engine).Worker.func1.1(0xc000164960, 0x7f19bd3027f8, 0xc0009843c0)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/actions.go:283 +0x351
created by github.com/purpleidea/mgmt/engine/graph.(*Engine).Worker.func1
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/engine/graph/actions.go:279 +0x1e4

goroutine 487627 [select, 1 minutes]:
github.com/purpleidea/mgmt/recwatch.(*RecWatcher).Watch(0xc000367800, 0x19c4a08, 0xc00036784c)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/recwatch/recwatch.go:180 +0x5f5
github.com/purpleidea/mgmt/recwatch.(*RecWatcher).Init.func1(0xc000367800)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/recwatch/recwatch.go:93 +0x73
created by github.com/purpleidea/mgmt/recwatch.(*RecWatcher).Init
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/recwatch/recwatch.go:91 +0x1b1

goroutine 487628 [select, 1 minutes]:
github.com/purpleidea/mgmt/converger.(*UID).StartTimer.func1(0xc000314900)
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/converger/converger.go:440 +0xe5
created by github.com/purpleidea/mgmt/converger.(*UID).StartTimer
	/home/james/code/gopath/src/github.com/purpleidea/mgmt/converger/converger.go:437 +0x1a2

rax    0xfffffffffffffffc
rbx    0x0
rcx    0x4a1c8a
rdx    0x7
rdi    0x10
rsi    0xc00099fd5c
rbp    0xc00099fcf0
rsp    0xc00099fc88
r8     0x0
r9     0x0
r10    0xffffffffffffffff
r11    0x212
r12    0x159
r13    0x158
r14    0x200
r15    0x0
rip    0x4a1c8a
rflags 0x212
cs     0x33
fs     0x0
gs     0x0

real	2m46.132s
user	1m5.339s
sys	0m34.205s

purpleidea avatar May 20 '19 15:05 purpleidea

I believe this is fixed in the latest release. If you can reproduce this or anything similar, please have a go! We have lambdas now!

purpleidea avatar Sep 26 '23 00:09 purpleidea