tcolar / goed

Terminal based code editor / development environment
MIT License
132 stars 6 forks source link

OSX - closing a view sometimes/often deadlocks #92

Closed tcolar closed 8 years ago

tcolar commented 8 years ago
==================
WARNING: DATA RACE
Write by goroutine 10:
  github.com/tcolar/goed/backend.(*BackendCmd).stop()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/backend/backend_cmd.go:126 +0xfc
  github.com/tcolar/goed/backend.(*BackendCmd).Close()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/backend/backend_cmd.go:79 +0x3a
  github.com/tcolar/goed/ui.(*Editor).TerminateView()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/wm.go:579 +0x11f
  github.com/tcolar/goed/ui.(*Editor).DelView()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/wm.go:567 +0x6fd
  github.com/tcolar/goed/ui.(*Editor).DelViewCheck()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/wm.go:606 +0x103
  github.com/tcolar/goed/actions.edDelViewCheck.Run()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/actions/actions_ed.go:103 +0x5e
  github.com/tcolar/goed/actions.(*edDelViewCheck).Run()
      <autogenerated>:11 +0xbf
  github.com/tcolar/goed/actions.actionBus.Start()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/actions/actionbus.go:33 +0x1fb
  github.com/tcolar/goed/actions.(*actionBus).Start()
      <autogenerated>:2 +0xbc

Previous read by goroutine 21:
  os/exec.(*Cmd).Wait()
      /private/var/folders/bn/49l0ffts381_wqsh02663nr40000gn/T/workdir/go/src/os/exec/exec.go:373 +0x5a
  github.com/tcolar/goed/backend.(*BackendCmd).stream()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/backend/backend_cmd.go:339 +0x358
  github.com/tcolar/goed/backend.(*MemCmdStarter).Start()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/backend/backend_cmd.go:320 +0x48
  github.com/tcolar/goed/backend.(*BackendCmd).Start()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/backend/backend_cmd.go:108 +0x6cc

Goroutine 10 (running) created at:
  main.main()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/main.go:98 +0x7b1

Goroutine 21 (running) created at:
  github.com/tcolar/goed/backend.NewMemBackendCmd()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/backend/backend.go:34 +0x26f
  github.com/tcolar/goed/ui.exec()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/exec.go:23 +0x7fb
  github.com/tcolar/goed/ui.execTerm()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/exec.go:33 +0x62
  github.com/tcolar/goed/ui.(*View).viewCommonEvent()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/event.go:250 +0x203
  github.com/tcolar/goed/ui.(*View).Event()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/event.go:127 +0xe2
  github.com/tcolar/goed/ui.(*Editor).EventLoop()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/event.go:68 +0xa9c
  github.com/tcolar/goed/ui.(*Editor).Start()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/editor.go:131 +0x1a9c
  main.main()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/main.go:100 +0x81e
==================
==================
WARNING: DATA RACE
Read by main goroutine:
  github.com/tcolar/goed/ui.(*Editor).WidgetAt()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/wm.go:40 +0x265
  github.com/tcolar/goed/ui.(*Editor).EventLoop()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/event.go:72 +0xced
  github.com/tcolar/goed/ui.(*Editor).Start()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/editor.go:131 +0x1a9c
  main.main()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/main.go:100 +0x81e

Previous write by goroutine 10:
  github.com/tcolar/goed/ui.(*Editor).DelView()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/wm.go:559 +0x54b
  github.com/tcolar/goed/ui.(*Editor).DelViewCheck()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/ui/wm.go:606 +0x103
  github.com/tcolar/goed/actions.edDelViewCheck.Run()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/actions/actions_ed.go:103 +0x5e
  github.com/tcolar/goed/actions.(*edDelViewCheck).Run()
      <autogenerated>:11 +0xbf
  github.com/tcolar/goed/actions.actionBus.Start()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/actions/actionbus.go:33 +0x1fb
  github.com/tcolar/goed/actions.(*actionBus).Start()
      <autogenerated>:2 +0xbc

Goroutine 10 (running) created at:
  main.main()
      /Users/thibautcolar/go/src/github.com/tcolar/goed/main.go:98 +0x7b1
tcolar commented 8 years ago

Apparently pty.Close() is what's hanging .....

tcolar commented 8 years ago

For now skipping pty.Close() as it hangs on OsX for some unknown reason.