master branch compiles but crashes on first connection
winwisely99 opened this issue · 3 comments
winwisely99 commented
brew install libvorbis openal-soft
go run main.go
From the browser on port 8000 i clicks Connect to Server and it blew up.
output
cd /Users/apple/workspace/go/src/github.com/moethu/webg3n/ && go run .
# github.com/go-gl/glfw/v3.2/glfw
In file included from ../../../../pkg/mod/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1/v3.2/glfw/c_glfw_darwin.go:8:
../../../../pkg/mod/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1/v3.2/glfw/glfw/src/cocoa_window.m:989:9: warning: multiple methods named 'center' found [-Wobjc-multiple-method-names]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSCollectionViewCompositionalLayout.h:601:19: note: using
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:312:1: note: also found
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)
[GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)
[GIN-debug] GET /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] POST /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] PUT /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] PATCH /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] HEAD /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] OPTIONS /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] DELETE /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] CONNECT /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] TRACE /webg3n --> main.serveWebsocket (3 handlers)
[GIN-debug] GET / --> main.home (3 handlers)
Starting HTTP Server on Port 8000
[GIN] 2020/03/08 - 18:54:01 | 200 | 1.203815ms | ::1 | GET /
[GIN] 2020/03/08 - 18:54:01 | 200 | 9.145224ms | ::1 | GET /static/style.css
[GIN] 2020/03/08 - 18:54:01 | 200 | 6.262736ms | ::1 | GET /static/webg3n.js
[GIN] 2020/03/08 - 18:54:01 | 200 | 3.265587ms | ::1 | GET /static/popper.min.js
[GIN] 2020/03/08 - 18:54:01 | 200 | 3.515273ms | ::1 | GET /static/bootstrap.min.js
[GIN] 2020/03/08 - 18:54:01 | 200 | 10.456957ms | ::1 | GET /static/bootstrap.min.css
[GIN] 2020/03/08 - 18:54:01 | 200 | 9.395575ms | ::1 | GET /static/jquery.js
[GIN] 2020/03/08 - 18:54:02 | 404 | 773ns | ::1 | GET /favicon.ico
[GIN] 2020/03/08 - 18:54:08 | 200 | 334.909µs | ::1 | GET /webg3n?h=563&w=1180
2020-03-08 18:54:08.468 webg3n[16517:4007909] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /BuildRoot/Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1674.114/Foundation/Misc.subproj/NSUndoManager.m:363
2020-03-08 18:54:08.471 webg3n[16517:4007909] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff2d5f58ab __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff638af805 objc_exception_throw + 48
2 CoreFoundation 0x00007fff2d61ed10 +[NSException raise:format:arguments:] + 88
3 Foundation 0x00007fff2fd17241 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
4 Foundation 0x00007fff2fc55d5e +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 440
5 AppKit 0x00007fff2a72e16c -[NSApplication run] + 864
6 webg3n 0x00000000046d578b initializeAppKit + 1403
7 webg3n 0x00000000046d7331 _glfwPlatformCreateStandardCursor + 17
8 webg3n 0x00000000046cdbfd glfwCreateStandardCursor + 77
9 webg3n 0x00000000046d7c3c _cgo_e91ead9994e1_Cfunc_glfwCreateStandardCursor + 28
10 webg3n 0x0000000004067100 runtime.asmcgocall + 112
)
libc++abi.dylib: terminating with uncaught exception of type NSException
SIGABRT: abort
PC=0x7fff64d647fa m=4 sigcode=0
signal arrived during cgo execution
goroutine 25 [syscall, locked to thread]:
runtime.cgocall(0x46d7c20, 0xc000053c80, 0xc000053c88)
/usr/local/opt/go/libexec/src/runtime/cgocall.go:133 +0x5b fp=0xc000053c50 sp=0xc000053c18 pc=0x400581b
github.com/go-gl/glfw/v3.2/glfw._Cfunc_glfwCreateStandardCursor(0xc000036001, 0x0)
_cgo_gotypes.go:523 +0x4a fp=0xc000053c80 sp=0xc000053c50 pc=0x4365f2a
github.com/go-gl/glfw/v3.2/glfw.CreateStandardCursor(0x36001, 0xc0000e60f0)
/Users/apple/workspace/go/pkg/mod/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1/v3.2/glfw/input.go:434 +0x2e fp=0xc000053cc0 sp=0xc000053c80 pc=0x436b85e
github.com/g3n/engine/window.Glfw(0x47ae220, 0x5080980, 0x0, 0x0)
/Users/apple/workspace/go/pkg/mod/github.com/moethu/engine@v0.0.0-20190918211458-57b17b524856/window/glfw.go:92 +0xfa fp=0xc000053d60 sp=0xc000053cc0 pc=0x437c2ca
github.com/g3n/engine/window.Manager(...)
/Users/apple/workspace/go/pkg/mod/github.com/moethu/engine@v0.0.0-20190918211458-57b17b524856/window/window.go:331
github.com/g3n/engine/util/application.Create(0x489c4b5, 0x14, 0x233, 0x49c, 0x0, 0xc00025a0c0, 0x24, 0x0, 0x1, 0x1e, ...)
/Users/apple/workspace/go/pkg/mod/github.com/moethu/engine@v0.0.0-20190918211458-57b17b524856/util/application/application.go:115 +0x353 fp=0xc000053e60 sp=0xc000053d60 pc=0x46bdc33
github.com/moethu/webg3n/renderer.LoadRenderingApp(0xc00026c000, 0xc00025a0c0, 0x24, 0x233, 0x49c, 0xc00023a120, 0xc00023a180, 0xc000230500, 0x14)
/Users/apple/workspace/go/src/github.com/moethu/webg3n/renderer/renderer.go:85 +0xb7 fp=0xc000053f98 sp=0xc000053e60 pc=0x46c55b7
runtime.goexit()
/usr/local/opt/go/libexec/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc000053fa0 sp=0xc000053f98 pc=0x40679a1
created by main.serveWebsocket
/Users/apple/workspace/go/src/github.com/moethu/webg3n/server.go:140 +0x42e
goroutine 1 [chan receive]:
main.main()
/Users/apple/workspace/go/src/github.com/moethu/webg3n/main.go:51 +0x32a
goroutine 9 [IO wait]:
internal/poll.runtime_pollWait(0x2d600ee8, 0x72, 0x0)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000156018, 0x72, 0x0, 0x0, 0x48905ae)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000156000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:384 +0x1d4
net.(*netFD).accept(0xc000156000, 0xaba8deb68bdce80, 0x7a8668bdce80, 0x100000001)
/usr/local/opt/go/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc00000e040, 0x5e653140, 0xc000051de0, 0x4087c66)
/usr/local/opt/go/libexec/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00000e040, 0xc000051e30, 0x18, 0xc000154000, 0x42dec7c)
/usr/local/opt/go/libexec/src/net/tcpsock.go:261 +0x64
net/http.(*Server).Serve(0xc0001a00e0, 0x49cd1a0, 0xc00000e040, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/http/server.go:2901 +0x25d
net/http.(*Server).ListenAndServe(0xc0001a00e0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/http/server.go:2830 +0xb7
main.main.func1(0xc0001a00e0)
/Users/apple/workspace/go/src/github.com/moethu/webg3n/main.go:39 +0x2f
created by main.main
/Users/apple/workspace/go/src/github.com/moethu/webg3n/main.go:38 +0x280
goroutine 10 [syscall]:
os/signal.signal_recv(0x0)
/usr/local/opt/go/libexec/src/runtime/sigqueue.go:144 +0x96
os/signal.loop()
/usr/local/opt/go/libexec/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.Notify.func1
/usr/local/opt/go/libexec/src/os/signal/signal.go:127 +0x44
goroutine 50 [IO wait]:
internal/poll.runtime_pollWait(0x2d600e08, 0x72, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000156098, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000156080, 0xc000151000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc000156080, 0xc000151000, 0x1000, 0x1000, 0x40877aa, 0x7b10a133ce0c, 0x0)
/usr/local/opt/go/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000098028, 0xc000151000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc00007b530, 0xc000151000, 0x1000, 0x1000, 0xbf916ac46ceb67a8, 0x91b2ecc9c5, 0x5051fa0)
/usr/local/opt/go/libexec/src/net/http/server.go:786 +0xf4
bufio.(*Reader).fill(0xc0002067e0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).Peek(0xc0002067e0, 0x4, 0x91b2ecc9c5, 0x5051fa0, 0x0, 0x0, 0x5051fa0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:138 +0x4f
net/http.(*conn).serve(0xc0001ce000, 0x49cf0a0, 0xc000068440)
/usr/local/opt/go/libexec/src/net/http/server.go:1920 +0x9d7
created by net/http.(*Server).Serve
/usr/local/opt/go/libexec/src/net/http/server.go:2933 +0x35c
goroutine 51 [IO wait]:
internal/poll.runtime_pollWait(0x2d600d28, 0x72, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000156118, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000156100, 0xc00037c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc000156100, 0xc00037c000, 0x1000, 0x1000, 0x40877aa, 0x7b10a1351cd4, 0x0)
/usr/local/opt/go/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000098030, 0xc00037c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc000200450, 0xc00037c000, 0x1000, 0x1000, 0xbf916ac46cda96f8, 0x91b2dbfbc3, 0x5051fa0)
/usr/local/opt/go/libexec/src/net/http/server.go:786 +0xf4
bufio.(*Reader).fill(0xc00010a360)
/usr/local/opt/go/libexec/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).Peek(0xc00010a360, 0x4, 0x91b2dbfbc3, 0x5051fa0, 0x0, 0x0, 0x5051fa0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:138 +0x4f
net/http.(*conn).serve(0xc0001ce140, 0x49cf0a0, 0xc00009c040)
/usr/local/opt/go/libexec/src/net/http/server.go:1920 +0x9d7
created by net/http.(*Server).Serve
/usr/local/opt/go/libexec/src/net/http/server.go:2933 +0x35c
goroutine 38 [IO wait]:
internal/poll.runtime_pollWait(0x2d600c48, 0x72, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0000ac218, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000ac200, 0xc0000ec000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc0000ac200, 0xc0000ec000, 0x1000, 0x1000, 0x40877aa, 0x7b10a14dbe67, 0x0)
/usr/local/opt/go/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc0000100b0, 0xc0000ec000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc000092660, 0xc0000ec000, 0x1000, 0x1000, 0xbf916ac46cf51c08, 0x91b2f67f58, 0x5051fa0)
/usr/local/opt/go/libexec/src/net/http/server.go:786 +0xf4
bufio.(*Reader).fill(0xc0000904e0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).Peek(0xc0000904e0, 0x4, 0x91b2f67f58, 0x5051fa0, 0x0, 0x0, 0x5051fa0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:138 +0x4f
net/http.(*conn).serve(0xc0000ea000, 0x49cf0a0, 0xc0001e2a40)
/usr/local/opt/go/libexec/src/net/http/server.go:1920 +0x9d7
created by net/http.(*Server).Serve
/usr/local/opt/go/libexec/src/net/http/server.go:2933 +0x35c
goroutine 40 [IO wait]:
internal/poll.runtime_pollWait(0x2d600b68, 0x72, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0000ac398, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000ac380, 0xc00022a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc0000ac380, 0xc00022a000, 0x1000, 0x1000, 0x40877aa, 0x7b10a16543a3, 0x0)
/usr/local/opt/go/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc0000100c8, 0xc00022a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc000222030, 0xc00022a000, 0x1000, 0x1000, 0xbf916ac46cdc5448, 0x91b2ddb78c, 0x5051fa0)
/usr/local/opt/go/libexec/src/net/http/server.go:786 +0xf4
bufio.(*Reader).fill(0xc000228000)
/usr/local/opt/go/libexec/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).Peek(0xc000228000, 0x4, 0x91b2ddb78c, 0x5051fa0, 0x0, 0x0, 0x5051fa0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:138 +0x4f
net/http.(*conn).serve(0xc0000ea0a0, 0x49cf0a0, 0xc000224000)
/usr/local/opt/go/libexec/src/net/http/server.go:1920 +0x9d7
created by net/http.(*Server).Serve
/usr/local/opt/go/libexec/src/net/http/server.go:2933 +0x35c
goroutine 20 [IO wait]:
internal/poll.runtime_pollWait(0x2d600a88, 0x72, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000232118, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000232100, 0xc000258000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc000232100, 0xc000258000, 0x1000, 0x1000, 0x40877aa, 0x7b10befc87b9, 0x0)
/usr/local/opt/go/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00022c018, 0xc000258000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/net/net.go:184 +0x8e
net/http.(*connReader).Read(0xc000222240, 0xc000258000, 0x1000, 0x1000, 0xbf916ac48e7bdaf0, 0x91d017cd71, 0x5051fa0)
/usr/local/opt/go/libexec/src/net/http/server.go:786 +0xf4
bufio.(*Reader).fill(0xc000228180)
/usr/local/opt/go/libexec/src/bufio/bufio.go:100 +0x103
bufio.(*Reader).Peek(0xc000228180, 0x4, 0x91d017cd71, 0x5051fa0, 0x0, 0x0, 0x5051fa0)
/usr/local/opt/go/libexec/src/bufio/bufio.go:138 +0x4f
net/http.(*conn).serve(0xc00024c000, 0x49cf0a0, 0xc000224200)
/usr/local/opt/go/libexec/src/net/http/server.go:1920 +0x9d7
created by net/http.(*Server).Serve
/usr/local/opt/go/libexec/src/net/http/server.go:2933 +0x35c
goroutine 21 [IO wait]:
internal/poll.runtime_pollWait(0x2d6009a8, 0x72, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000232198, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/opt/go/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000232180, 0xc000256000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/opt/go/libexec/src/internal/poll/fd_unix.go:169 +0x201
net.(*netFD).Read(0xc0002321
moethu commented
Hi, are you building on MacOS?
I found this issue being related to missing openGL support on MacOS
google/dart-glfw#13
moethu commented
Here is an article talking about OpenGL activation for MacOS
https://www.alora.io/forums/topic/28972-how-to-get-hd-opengl-working-on-mac-osx-high-sierra-mojave/
moethu commented
I'll label this as invalid, since macOS has deprecated OpenGL