goneovim
goneovim copied to clipboard
Goneovim crashes on Ubuntu focal
When I try to run the latest version on Ubuntu Focal I get the following error
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x24 pc=0x7f406f4a3c14]
runtime stack:
runtime.throw(0x112d6e0, 0x2a)
runtime/panic.go:774 +0x72
runtime.sigpanic()
runtime/signal_unix.go:378 +0x47c
goroutine 1 [syscall, locked to thread]:
runtime.cgocall(0xee0930, 0xc000557940, 0x8980f3)
runtime/cgocall.go:128 +0x5b fp=0xc000557910 sp=0xc0005578d8 pc=0x576aab
github.com/therecipe/qt/widgets._Cfunc_QApplication_QApplication_Exec(0xc000000000)
_cgo_gotypes.go:2533 +0x49 fp=0xc000557940 sp=0xc000557910 pc=0x7d9729
github.com/therecipe/qt/widgets.QApplication_Exec(...)
github.com/therecipe/qt/widgets/widgets-minimal.go:2929
github.com/akiyosi/goneovim/editor.InitEditor()
github.com/akiyosi/goneovim/editor/editor.go:262 +0x8c2 fp=0xc000557f50 sp=0xc000557940 pc=0xdca582
main.main()
github.com/akiyosi/goneovim/cmd/goneovim/main.go:14 +0x20 fp=0xc000557f60 sp=0xc000557f50 pc=0xe55f10
runtime.main()
runtime/proc.go:203 +0x21e fp=0xc000557fe0 sp=0xc000557f60 pc=0x5a2d5e
runtime.goexit()
runtime/asm_amd64.s:1357 +0x1 fp=0xc000557fe8 sp=0xc000557fe0 pc=0x5cdd61
goroutine 11 [select]:
os/exec.(*Cmd).Start.func2(0xc000472000)
os/exec/exec.go:443 +0xc4
created by os/exec.(*Cmd).Start
os/exec/exec.go:442 +0x6a6
goroutine 68 [chan receive]:
github.com/akiyosi/goneovim/editor.InitEditor.func2(0xc000231200)
github.com/akiyosi/goneovim/editor/editor.go:253 +0x3b
created by github.com/akiyosi/goneovim/editor.InitEditor
github.com/akiyosi/goneovim/editor/editor.go:252 +0x8a4
goroutine 12 [IO wait]:
internal/poll.runtime_pollWait(0x7f4098916da8, 0x72, 0xffffffffffffffff)
runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc000376138, 0x72, 0x1001, 0x1000, 0xffffffffffffffff)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000376120, 0xc000369000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:169 +0x1cf
os.(*File).read(...)
os/file_unix.go:259
os.(*File).Read(0xc0005746d8, 0xc000369000, 0x1000, 0x1000, 0x9c421b, 0xc0002ac0c0, 0x0)
os/file.go:116 +0x71
bufio.(*Reader).fill(0xc000376240)
bufio/bufio.go:100 +0x103
bufio.(*Reader).ReadByte(0xc000376240, 0x9c3ed4, 0xc0001aca90, 0xc0005d3e00)
bufio/bufio.go:252 +0x39
github.com/neovim/go-client/msgpack.(*Decoder).Unpack(0xc0003ae000, 0x3, 0x0)
github.com/neovim/go-client/msgpack/unpack.go:154 +0x55
github.com/neovim/go-client/msgpack/rpc.(*Endpoint).Serve(0xc0001aca90, 0x0, 0x0)
github.com/neovim/go-client/msgpack/rpc/endpoint.go:373 +0xff
github.com/neovim/go-client/nvim.(*Nvim).Serve(0xc00048c3f0, 0x0, 0x0)
github.com/neovim/go-client/nvim/nvim.go:53 +0x81
github.com/neovim/go-client/nvim.(*Nvim).startServe.func1(0xc00048c3f0)
github.com/neovim/go-client/nvim/nvim.go:59 +0x2b
created by github.com/neovim/go-client/nvim.(*Nvim).startServe
github.com/neovim/go-client/nvim/nvim.go:58 +0x6c
goroutine 36 [sync.Cond.Wait]:
runtime.goparkunlock(...)
runtime/proc.go:310
sync.runtime_notifyListWait(0xc0002ac0d0, 0xe)
runtime/sema.go:510 +0xf8
sync.(*Cond).Wait(0xc0002ac0c0)
sync/cond.go:56 +0x9d
github.com/neovim/go-client/msgpack/rpc.(*Endpoint).dequeueNotifications(0xc0001aca90, 0x1, 0x1, 0x0)
github.com/neovim/go-client/msgpack/rpc/endpoint.go:633 +0x5d
github.com/neovim/go-client/msgpack/rpc.(*Endpoint).runNotifications(0xc0001aca90)
github.com/neovim/go-client/msgpack/rpc/endpoint.go:645 +0x20a
created by github.com/neovim/go-client/msgpack/rpc.(*Endpoint).Serve
github.com/neovim/go-client/msgpack/rpc/endpoint.go:370 +0xea
goroutine 13 [semacquire]:
sync.runtime_SemacquireMutex(0xc00048c41c, 0x0, 0x1)
runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc00048c418)
sync/mutex.go:138 +0xfc
sync.(*Mutex).Lock(...)
sync/mutex.go:81
github.com/neovim/go-client/nvim.(*Nvim).Serve(0xc00048c3f0, 0x0, 0x0)
github.com/neovim/go-client/nvim/nvim.go:51 +0xc3
github.com/akiyosi/goneovim/editor.(*Workspace).startNvim.func3(0xc00027c000)
github.com/akiyosi/goneovim/editor/workspace.go:393 +0x36
created by github.com/akiyosi/goneovim/editor.(*Workspace).startNvim
github.com/akiyosi/goneovim/editor/workspace.go:392 +0x397
Could it be caused because I'm using QT 5.12.8+dfsg-0ubuntu1
?
If I run ldd
on the lib
directory, the following libraries aren't linked:
libicuuc.so.56 => not found
libicudata.so.56 => not found
libicudata.so.56 => not found
Because Ubuntu has a newer version.
Same error with Goneovim 0.4.8
.
Thanks.
Hi :) Thanks for this issue report. I'm looking into this issue.
Could it be caused because I'm using QT 5.12.8+dfsg-0ubuntu1?
If I run ldd on the lib directory, the following libraries aren't linked:
libicuuc.so.56 => not found libicudata.so.56 => not found libicudata.so.56 => not found
I don't think the above is a direct cause of the problem. In fact, it's the same situation in my archlinux environment, but I haven't had any problems.
What nvim version are you using?
Hi @akiyosi I'm using nvim 0.4.3:
⟩ nvim --version
NVIM v0.4.4
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -g -O2 -fdebug-prefix-map=/build/neovim-aKIhK1/neovim-0.4.4=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=1 -DDISABLE_LOG -Wdate-time -D_FORTIFY_SOURCE=1 -O2 -DNDEBUG -DMIN_LOG_LEVEL=3 -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -I/build/neovim-aKIhK1/neovim-0.4.4/build/config -I/build/neovim-aKIhK1/neovim-0.4.4/src -I/usr/include -I/usr/include/lua5.1 -I/build/neovim-aKIhK1/neovim-0.4.4/build/src/nvim/auto -I/build/neovim-aKIhK1/neovim-0.4.4/build/include
Compiled by [email protected]
Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"
Run :checkhealth for more info
@szaffarano Thanks for quick reply. Umm... One possibility is that any of the plugins you are loading could be the cause of the problem. Could you try starting it up with the following command?
/path/to/goneovim -u NONE
Hi @akiyosi I tried starting nvim up with -u NONE
flag and I got the same error.
After start goneovim
with strace
I found
ioctl(9, DRM_IOCTL_I915_GEM_MMAP, 0x7ffef042cfa0) = -1 ENOMEM (Cannot allocate memory)
ioctl(9, DRM_IOCTL_I915_GEM_MMAP_GTT, 0x7ffef042cf20) = 0
mmap(NULL, 16384, PROT_READ|PROT_WRITE, MAP_SHARED, 9, 0x100fd2000) = -1 ENOMEM (Cannot allocate memory)
And searching about this allocation error I found here a workaround:
$ export MESA_LOADER_DRIVER_OVERRIDE=i965
$ /path/to/goneovim
It seems that it works fine now.
@szaffarano Thank you for your report. This workaround is very good information for the project. I will keep this for people in the same event.