Comments (4)
Debugging:
- Run the server
- Attach to running process:
$ docker exec -it occamy /bin/bash [11:24:35]
[root@585e16728f8a occamy] gdb attach 1 -ex cont
- Run the test:
package tests
import (
"fmt"
"sync"
"testing"
"github.com/gorilla/websocket"
)
var (
urlVNC = "ws://0.0.0.0:5636/api/v1/connect?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzI5NTMwOTEsImhvc3QiOiIxNzIuMTYuMjM4LjExOjU5MDEiLCJvcmlnX2lhdCI6MTU3Mjk0OTQ5MSwicGFzc3dvcmQiOiJ2bmNwYXNzd29yZCIsInByb3RvY29sIjoidm5jIiwidXNlcm5hbWUiOiIifQ.hc39gN1Y-JQeRaVaBXtK_0cggOi8tM2UQ9lYgg6no7A"
)
func successConnect(url string) error {
conn, _, err := websocket.DefaultDialer.Dial(url, nil)
if err != nil {
return fmt.Errorf("connect: dial failed, err: %v", err)
}
for i := 0; i < 50; i++ {
_, data, err := conn.ReadMessage()
if err != nil {
fmt.Println("client: ", err)
return nil
}
// fmt.Println("server: ", string(data))
if len(data) > 6 && string(data[0:6]) == "4.sync" {
fmt.Println("client: ", string(data))
conn.WriteMessage(websocket.TextMessage, data)
continue
}
if len(data) > 5 && string(data[0:5]) == "3.nop" {
fmt.Println("client: ", string(data))
conn.WriteMessage(websocket.TextMessage, data)
continue
}
if len(data) > 12 && string(data[0:12]) == "10.disconnect" {
fmt.Println("client: ", string(data))
conn.WriteMessage(websocket.TextMessage, data)
return nil
}
}
conn.WriteMessage(websocket.TextMessage, []byte("10.disconnect;"))
fmt.Println("client: 10.disconnect;")
fmt.Println("close connection... Done.")
return conn.Close()
}
const (
maxc = 2
)
func TestConnectionPressure(t *testing.T) {
var wg sync.WaitGroup
for i := 1; i <= maxc; i++ {
wg.Add(1)
// time.Sleep(time.Second)
go func(i int) {
err := successConnect(urlVNC)
if err != nil {
fmt.Println("err: ", err)
}
wg.Done()
}(i)
}
wg.Wait()
}
...
warning: File "/usr/local/go/src/runtime/runtime-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load:/usr/bin/mono-gdb.py".
To enable execution of this file add
add-auto-load-safe-path /usr/local/go/src/runtime/runtime-gdb.py
line to your configuration file "/root/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/root/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
Continuing.
[New Thread 0x7ff9ada3f700 (LWP 41)]
[New Thread 0x7ff99ffff700 (LWP 40)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ff9c2fad700 (LWP 9)]
0x00007ff9cbcd1cc0 in pthread_mutex_lock () from /lib64/libpthread.so.0
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 cairo-1.15.12-4.el7.x86_64 dbus-libs-1.10.24-13.el7_6.x86_64 elfutils-libelf-0.176-2.el7.x86_64 elfutils-libs-0.176-2.el7.x86_64 expat-2.1.0-10.el7_3.x86_64 flac-libs-1.3.0-5.el7_1.x86_64 fontconfig-2.13.0-4.3.el7.x86_64 freetype-2.8-14.el7.x86_64 glibc-2.17-292.el7.x86_64 gmp-6.0.0-15.el7.x86_64 gnutls-3.3.29-9.el7_6.x86_64 gsm-1.0.13-11.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-37.el7_7.2.x86_64 libICE-1.0.9-9.el7.x86_64 libSM-1.2.2-2.el7.x86_64 libX11-1.6.7-2.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXi-1.7.9-1.el7.x86_64 libXrender-0.9.10-1.el7.x86_64 libXtst-1.2.3-1.el7.x86_64 libasyncns-0.8-7.el7.x86_64 libattr-2.4.46-13.el7.x86_64 libcap-2.22-10.el7.x86_64 libcom_err-1.42.9-16.el7.x86_64 libffi-3.0.13-18.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64 libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libjpeg-turbo-1.2.90-8.el7.x86_64 libogg-1.3.0-7.el7.x86_64 libpng-1.5.13-7.el7_2.x86_64 libselinux-2.5-14.1.el7.x86_64 libsndfile-1.0.25-10.el7.x86_64 libtasn1-4.10-1.el7.x86_64 libuuid-2.23.2-61.el7.x86_64 libvncserver-0.9.9-13.el7_6.x86_64 libvorbis-1.3.3-8.el7.1.x86_64 libwebp-0.3.0-7.el7.x86_64 libxcb-1.13-1.el7.x86_64 lz4-1.7.5-3.el7.x86_64 lzo-minilzo-2.06-8.el7.x86_64 nettle-2.7.1-8.el7.x86_64 openssl-libs-1.0.2k-19.el7.x86_64 p11-kit-0.23.5-3.el7.x86_64 pcre-8.32-17.el7.x86_64 pixman-0.34.0-1.el7.x86_64 pulseaudio-libs-10.0-5.el7.x86_64 systemd-libs-219-67.el7_7.2.x86_64 tcp_wrappers-libs-7.6-77.el7.x86_64 uuid-1.6.2-26.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) bt
#0 0x00007ff9cbcd1cc0 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1 0x00007ff9c05a0bd3 in guac_common_display_dup (display=0x0, user=user@entry=0x7ff9900008c0, socket=0x7ff990000b60) at display.c:169
#2 0x00007ff9c059fbd7 in guac_vnc_user_join_handler (user=0x7ff9900008c0, argc=<optimized out>, argv=0x7ff9900048a0) at user.c:87
#3 0x00007ff9cbeeafc8 in guac_client_add_user (client=client@entry=0x7ff9a4000bb0, user=user@entry=0x7ff9900008c0, argc=22, argv=<optimized out>)
at client.c:307
#4 0x00007ff9cbef2311 in guac_user_handle_connection (user=0x7ff9900008c0, usec_timeout=15000000) at user-handshake.c:414
#5 0x00000000009f6cca in _cgo_e9e34657347d_Cfunc_guac_user_handle_connection (v=0xc000143de0) at cgo-gcc-prolog:84
#6 0x00000000004607c0 in runtime.asmcgocall () at /usr/local/go/src/runtime/asm_amd64.s:655
#7 0x0000000000438fcd in runtime.park_m (gp=0xc000001e00) at /usr/local/go/src/runtime/proc.go:2610
#8 0x000000c00008a600 in ?? ()
#9 0x000000c000001e00 in ?? ()
#10 0x0000000000000000 in ?? ()
(gdb)
from occamy.
the variable display=0x0
seems become the cause of the problem.
from occamy.
There are still some of the panics:
occamy | [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
occamy |
occamy | [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
occamy | - using env: export GIN_MODE=release
occamy | - using code: gin.SetMode(gin.ReleaseMode)
occamy |
occamy | [GIN-debug] GET /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)
occamy | [GIN-debug] HEAD /static/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (3 handlers)
occamy | [GIN-debug] GET /api/v1/ping --> github.com/changkun/occamy/server.(*proxy).routers.func3 (3 handlers)
occamy | [GIN-debug] POST /api/v1/login --> github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).LoginHandler-fm (3 handlers)
occamy | [GIN-debug] GET /api/v1/connect --> github.com/changkun/occamy/server.(*proxy).serveWS-fm (4 handlers)
occamy | [GIN-debug] GET /debug/pprof/ --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/cmdline --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/profile --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] POST /debug/pprof/symbol --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/symbol --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/trace --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/block --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/goroutine --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/heap --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/mutex --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | [GIN-debug] GET /debug/pprof/threadcreate --> github.com/changkun/occamy/server.profile.func1.1 (3 handlers)
occamy | time="2019-11-05T12:32:12Z" level=info msg="occamy-proxy: starting at http://0.0.0.0:5636..."
occamy | [GIN] 2019/11/05 - 12:32:50 | 200 | 621.9µs | 172.16.238.1 | POST /api/v1/login
occamy | time="2019-11-05T12:32:50Z" level=info msg="occamy-proxy: new session was created: $7609bbb6-073f-42f1-ad11-7cd1aabd891e"
occamy | occamy-lib[140088726476544]: Cursor rendering: local
occamy | occamy-lib[140088726476544]: User "@eb5f9b9b-6c0a-4d1c-9a30-916e7c97de1e" joined connection "$7609bbb6-073f-42f1-ad11-7cd1aabd891e" (1 users now present)
occamy | [GIN] 2019/11/05 - 12:32:56 | 200 | 117.9µs | 172.16.238.1 | POST /api/v1/login
occamy | time="2019-11-05T12:32:56Z" level=info msg="occamy-proxy: new session was created: $9038d3e7-5627-4f27-a183-e83e41ee2e89"
occamy | occamy-lib[140088751654656]: No security mode specified. Defaulting to RDP.
occamy | occamy-lib[140088751654656]: Resize method: none
occamy | occamy-lib[140088751654656]: User "@bf3db162-24fc-43cc-8f66-6f5bc7704401" joined connection "$9038d3e7-5627-4f27-a183-e83e41ee2e89" (1 users now present)
occamy | occamy-lib[140088040560384]: Loading keymap "base"
occamy | occamy-lib[140088040560384]: Loading keymap "en-us-qwerty"
occamy | occamy-lib[140088040560384]: Failed to load guacdr plugin. Drive redirection and printing will not work. Sound MAY not work.
occamy | occamy-lib[140088040560384]: Failed to load guacsnd alongside guacdr plugin. Sound will not work. Drive redirection and printing MAY not work.
occamy | [GIN] 2019/11/05 - 12:33:01 | 200 | 2.5902ms | 172.16.238.1 | POST /api/v1/login
occamy | time="2019-11-05T12:33:01Z" level=info msg="occamy-proxy: new session was created: $6127baa5-7e8c-4e97-8820-e7b6e2093abe"
occamy | occamy-lib[140087773869824]: User "@7d7c4a76-9613-42ef-bb97-224d415c49a8" joined connection "$6127baa5-7e8c-4e97-8820-e7b6e2093abe" (1 users now present)
occamy | occamy-lib[140087404787456]: No known host keys provided, host identity will not be verified.
occamy | occamy-lib[140087404787456]: SSH connection successful.
occamy | fatal error: unexpected signal during runtime execution
occamy | [signal SIGSEGV: segmentation violation code=0x2 addr=0x7f68a8000088 pc=0x7f68a8000088]
occamy |
occamy | runtime stack:
occamy | runtime.throw(0xb8a798, 0x2a)
occamy | /usr/local/go/src/runtime/panic.go:774 +0x72
occamy | runtime.sigpanic()
occamy | /usr/local/go/src/runtime/signal_unix.go:378 +0x47c
occamy |
occamy | goroutine 12 [syscall]:
occamy | runtime.cgocall(0x9f6e90, 0xc000043710, 0x44375f)
occamy | /usr/local/go/src/runtime/cgocall.go:128 +0x5b fp=0xc0000436e0 sp=0xc0000436a8 pc=0x4050bb
occamy | github.com/changkun/occamy/lib._Cfunc_guac_user_handle_connection(0x7f68a8053f00, 0x7f6800e4e1c0, 0x0)
occamy | _cgo_gotypes.go:385 +0x4d fp=0xc000043710 sp=0xc0000436e0 pc=0x9f011d
occamy | github.com/changkun/occamy/lib.(*User).HandleConnection.func1(0xc0000aa500, 0x12c8f20)
occamy | /go/src/github.com/changkun/occamy/lib/user.go:59 +0x66 fp=0xc000043750 sp=0xc000043710 pc=0x9f1246
occamy | github.com/changkun/occamy/lib.(*User).HandleConnection(0xc0000aa500, 0xc0000ba0a0, 0x7f68f13f40f8)
occamy | /go/src/github.com/changkun/occamy/lib/user.go:59 +0x2f fp=0xc000043780 sp=0xc000043750 pc=0x9f0c6f
occamy | github.com/changkun/occamy/server.(*Session).Join.func1(0xc0000aa500)
occamy | /go/src/github.com/changkun/occamy/server/session.go:93 +0x2f fp=0xc0000437d8 sp=0xc000043780 pc=0x9f623f
occamy | runtime.goexit()
occamy | /usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc0000437e0 sp=0xc0000437d8 pc=0x461041
occamy | created by github.com/changkun/occamy/server.(*Session).Join
occamy | /go/src/github.com/changkun/occamy/server/session.go:92 +0x533
occamy |
occamy | goroutine 1 [IO wait, locked to thread]:
occamy | internal/poll.runtime_pollWait(0x7f68f13f3ed8, 0x72, 0x0)
occamy | /usr/local/go/src/runtime/netpoll.go:184 +0x55
occamy | internal/poll.(*pollDesc).wait(0xc0001f8198, 0x72, 0x0, 0x0, 0xb740e7)
occamy | /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
occamy | internal/poll.(*pollDesc).waitRead(...)
occamy | /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
occamy | internal/poll.(*FD).Accept(0xc0001f8180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/internal/poll/fd_unix.go:384 +0x1f8
occamy | net.(*netFD).accept(0xc0001f8180, 0xc000185c60, 0x6d91a4, 0xc00022e180)
occamy | /usr/local/go/src/net/fd_unix.go:238 +0x42
occamy | net.(*TCPListener).accept(0xc000114620, 0x5dc16bfd, 0xc000185c60, 0x484806)
occamy | /usr/local/go/src/net/tcpsock_posix.go:139 +0x32
occamy | net.(*TCPListener).Accept(0xc000114620, 0xc000185cb0, 0x18, 0xc000000180, 0x6d86be)
occamy | /usr/local/go/src/net/tcpsock.go:261 +0x47
occamy | net/http.(*Server).Serve(0xc00022e0e0, 0xc84960, 0xc000114620, 0x0, 0x0)
occamy | /usr/local/go/src/net/http/server.go:2896 +0x286
occamy | net/http.(*Server).ListenAndServe(0xc00022e0e0, 0x4, 0xb8803d)
occamy | /usr/local/go/src/net/http/server.go:2825 +0xb7
occamy | github.com/changkun/occamy/server.(*proxy).serve(0xc000114280)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:71 +0x1ec
occamy | github.com/changkun/occamy/server.Run()
occamy | /go/src/github.com/changkun/occamy/server/connection.go:43 +0xfa
occamy | main.main()
occamy | /go/src/github.com/changkun/occamy/occamy.go:18 +0x20
occamy |
occamy | goroutine 20 [syscall]:
occamy | os/signal.signal_recv(0x0)
occamy | /usr/local/go/src/runtime/sigqueue.go:147 +0x9c
occamy | os/signal.loop()
occamy | /usr/local/go/src/os/signal/signal_unix.go:23 +0x22
occamy | created by os/signal.init.0
occamy | /usr/local/go/src/os/signal/signal_unix.go:29 +0x41
occamy |
occamy | goroutine 34 [chan receive]:
occamy | github.com/changkun/occamy/server.(*proxy).serve.func1(0xc00022e0e0)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:62 +0xe0
occamy | created by github.com/changkun/occamy/server.(*proxy).serve
occamy | /go/src/github.com/changkun/occamy/server/connection.go:59 +0x14f
occamy |
occamy | goroutine 36 [IO wait]:
occamy | internal/poll.runtime_pollWait(0x7f68f13f3d38, 0x72, 0xffffffffffffffff)
occamy | /usr/local/go/src/runtime/netpoll.go:184 +0x55
occamy | internal/poll.(*pollDesc).wait(0xc0001f8298, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
occamy | /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
occamy | internal/poll.(*pollDesc).waitRead(...)
occamy | /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
occamy | internal/poll.(*FD).Read(0xc0001f8280, 0xc00021f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/internal/poll/fd_unix.go:169 +0x1cf
occamy | net.(*netFD).Read(0xc0001f8280, 0xc00021f000, 0x1000, 0x1000, 0xc0002799e8, 0x4cb79d, 0xc0001f8280)
occamy | /usr/local/go/src/net/fd_unix.go:202 +0x4f
occamy | net.(*conn).Read(0xc000118110, 0xc00021f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/net/net.go:184 +0x68
occamy | net/http.(*connReader).Read(0xc000112ed0, 0xc00021f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/net/http/server.go:785 +0xf4
occamy | bufio.(*Reader).fill(0xc000110cc0)
occamy | /usr/local/go/src/bufio/bufio.go:100 +0x103
occamy | bufio.(*Reader).Peek(0xc000110cc0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xc63fd2)
occamy | /usr/local/go/src/bufio/bufio.go:138 +0x4f
occamy | net/http.(*conn).readRequest(0xc0001e63c0, 0xc86620, 0xc0001c63c0, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/net/http/server.go:962 +0xb3b
occamy | net/http.(*conn).serve(0xc0001e63c0, 0xc86620, 0xc0001c63c0)
occamy | /usr/local/go/src/net/http/server.go:1817 +0x6d4
occamy | created by net/http.(*Server).Serve
occamy | /usr/local/go/src/net/http/server.go:2927 +0x38e
occamy |
occamy | goroutine 38 [chan receive, locked to thread]:
occamy | github.com/changkun/occamy/server.(*Session).serveIO(0xc0001138c0, 0xc000114c00, 0xc000272840, 0xc00027b668, 0x0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:208 +0x11b
occamy | github.com/changkun/occamy/server.(*Session).Join(0xc0001138c0, 0xc000272840, 0xc00027b668, 0x1, 0xc00027b560, 0x0, 0x0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:110 +0x691
occamy | github.com/changkun/occamy/server.(*proxy).routeConn(0xc000114280, 0xc000272840, 0xc00027b668, 0x8, 0xc000216cf8)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:219 +0x268
occamy | github.com/changkun/occamy/server.(*proxy).serveWS(0xc000114280, 0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:195 +0x447
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).middlewareImpl(0xc000216120, 0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/appleboy/gin-jwt/v2/auth_jwt.go:382 +0x2bf
occamy | github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).MiddlewareFunc.func1(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/appleboy/gin-jwt/v2/auth_jwt.go:344 +0x34
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.RecoveryWithWriter.func1(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/recovery.go:83 +0x64
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/logger.go:240 +0xe1
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0001e83c0, 0xc00021c0b0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/gin.go:389 +0x5b2
occamy | github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0001e83c0, 0xc84c20, 0xc00022e2a0, 0xc00028c000)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/gin.go:351 +0x134
occamy | net/http.serverHandler.ServeHTTP(0xc00022e0e0, 0xc84c20, 0xc00022e2a0, 0xc00028c000)
occamy | /usr/local/go/src/net/http/server.go:2802 +0xa4
occamy | net/http.(*conn).serve(0xc0001e6500, 0xc86620, 0xc0001c6540)
occamy | /usr/local/go/src/net/http/server.go:1890 +0x875
occamy | created by net/http.(*Server).Serve
occamy | /usr/local/go/src/net/http/server.go:2927 +0x38e
occamy |
occamy | goroutine 40 [syscall]:
occamy | github.com/changkun/occamy/lib._Cfunc_guac_user_handle_connection(0x7f68e402d840, 0x7f6800e4e1c0, 0x0)
occamy | _cgo_gotypes.go:385 +0x4d
occamy | github.com/changkun/occamy/lib.(*User).HandleConnection.func1(0xc000114be0, 0x12c8f20)
occamy | /go/src/github.com/changkun/occamy/lib/user.go:59 +0x66
occamy | github.com/changkun/occamy/lib.(*User).HandleConnection(0xc000114be0, 0xc0001ca5a0, 0x7f68f13f40f8)
occamy | /go/src/github.com/changkun/occamy/lib/user.go:59 +0x2f
occamy | github.com/changkun/occamy/server.(*Session).Join.func1(0xc000114be0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:93 +0x2f
occamy | created by github.com/changkun/occamy/server.(*Session).Join
occamy | /go/src/github.com/changkun/occamy/server/session.go:92 +0x533
occamy |
occamy | goroutine 5 [syscall]:
occamy | syscall.Syscall(0x0, 0xa, 0xc0002a0000, 0x2000, 0xc0002281c0, 0xc66311, 0xb9c301)
occamy | /usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
occamy | syscall.read(0xa, 0xc0002a0000, 0x2000, 0x2000, 0xc000272840, 0xc00029200c, 0x14)
occamy | /usr/local/go/src/syscall/zsyscall_linux_amd64.go:732 +0x5a
occamy | syscall.Read(...)
occamy | /usr/local/go/src/syscall/syscall_unix.go:183
occamy | github.com/changkun/occamy/protocol.IO.Read(0xa, 0xc0002a0000, 0x2000, 0x2000, 0xc0002505a0, 0x9e2d57, 0x0)
occamy | /go/src/github.com/changkun/occamy/protocol/io.go:21 +0x49
occamy | bufio.(*Reader).fill(0xc000111200)
occamy | /usr/local/go/src/bufio/bufio.go:100 +0x103
occamy | bufio.(*Reader).ReadSlice(0xc000111200, 0xc0002a003b, 0x12, 0xc000272840, 0xc000250758, 0x9e502c, 0xc000250728)
occamy | /usr/local/go/src/bufio/bufio.go:359 +0x3d
occamy | bufio.(*Reader).ReadBytes(0xc000111200, 0x3b, 0xc0001f4160, 0x12, 0x12, 0x0, 0x0)
occamy | /usr/local/go/src/bufio/bufio.go:437 +0x73
occamy | github.com/changkun/occamy/protocol.(*InstructionIO).ReadRaw(...)
occamy | /go/src/github.com/changkun/occamy/protocol/instruction.go:148
occamy | github.com/changkun/occamy/server.(*Session).serveIO.func1(0xc00006c2a0, 0xc00002a340, 0xc000114c00, 0xc000272840)
occamy | /go/src/github.com/changkun/occamy/server/session.go:181 +0x41
occamy | created by github.com/changkun/occamy/server.(*Session).serveIO
occamy | /go/src/github.com/changkun/occamy/server/session.go:178 +0xb8
occamy |
occamy | goroutine 6 [runnable]:
occamy | syscall.Syscall(0x0, 0x7, 0xc000290000, 0x2000, 0x8, 0x2000, 0x0)
occamy | /usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
occamy | syscall.read(0x7, 0xc000290000, 0x2000, 0x2000, 0x0, 0xc77e40, 0x126e0c0)
occamy | /usr/local/go/src/syscall/zsyscall_linux_amd64.go:732 +0x5a
occamy | syscall.Read(...)
occamy | /usr/local/go/src/syscall/syscall_unix.go:183
occamy | internal/poll.(*FD).Read(0xc0001f8480, 0xc000290000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/internal/poll/fd_unix.go:165 +0x164
occamy | net.(*netFD).Read(0xc0001f8480, 0xc000290000, 0x2000, 0x2000, 0x18, 0x0, 0x0)
occamy | /usr/local/go/src/net/fd_unix.go:202 +0x4f
occamy | net.(*conn).Read(0xc000118190, 0xc000290000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
occamy | /usr/local/go/src/net/net.go:184 +0x68
occamy | bufio.(*Reader).fill(0xc0001111a0)
occamy | /usr/local/go/src/bufio/bufio.go:100 +0x103
occamy | bufio.(*Reader).Peek(0xc0001111a0, 0x2, 0x4ea389, 0xc00004fd88, 0x43a15f, 0xc000034f00, 0xc00004fd98)
occamy | /usr/local/go/src/bufio/bufio.go:138 +0x4f
occamy | github.com/gorilla/websocket.(*Conn).read(0xc000272840, 0x2, 0xc000034f00, 0xc00004fe18, 0x478290, 0x4762da, 0x1)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gorilla/websocket/conn.go:357 +0x40
occamy | github.com/gorilla/websocket.(*Conn).advanceFrame(0xc000272840, 0x0, 0x0, 0x1000)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gorilla/websocket/conn.go:787 +0x5c
occamy | github.com/gorilla/websocket.(*Conn).NextReader(0xc000272840, 0xc0001c66c0, 0x0, 0x0, 0x600, 0x12)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gorilla/websocket/conn.go:947 +0xa0
occamy | github.com/gorilla/websocket.(*Conn).ReadMessage(0xc000272840, 0xc000238600, 0x12, 0x600, 0x12, 0x0, 0x0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gorilla/websocket/conn.go:1028 +0x2f
occamy | github.com/changkun/occamy/server.(*Session).serveIO.func2(0xc00006c2a0, 0xc00002a340, 0xc000114c00, 0xc000272840)
occamy | /go/src/github.com/changkun/occamy/server/session.go:196 +0x37
occamy | created by github.com/changkun/occamy/server.(*Session).serveIO
occamy | /go/src/github.com/changkun/occamy/server/session.go:193 +0xfb
occamy |
occamy | goroutine 43 [syscall]:
occamy | github.com/changkun/occamy/lib._Cfunc_guac_user_handle_connection(0x7f68d8006420, 0x7f6800e4e1c0, 0x0)
occamy | _cgo_gotypes.go:385 +0x4d
occamy | github.com/changkun/occamy/lib.(*User).HandleConnection.func1(0xc000114f60, 0x12c8f20)
occamy | /go/src/github.com/changkun/occamy/lib/user.go:59 +0x66
occamy | github.com/changkun/occamy/lib.(*User).HandleConnection(0xc000114f60, 0xc0001ca780, 0x7f68f13f40f8)
occamy | /go/src/github.com/changkun/occamy/lib/user.go:59 +0x2f
occamy | github.com/changkun/occamy/server.(*Session).Join.func1(0xc000114f60)
occamy | /go/src/github.com/changkun/occamy/server/session.go:93 +0x2f
occamy | created by github.com/changkun/occamy/server.(*Session).Join
occamy | /go/src/github.com/changkun/occamy/server/session.go:92 +0x533
occamy |
occamy | goroutine 7 [runnable, locked to thread]:
occamy | github.com/changkun/occamy/server.(*Session).serveIO(0xc000113e60, 0xc000114f80, 0xc0002731e0, 0xc000275668, 0x0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:208 +0x11b
occamy | github.com/changkun/occamy/server.(*Session).Join(0xc000113e60, 0xc0002731e0, 0xc000275668, 0x1, 0xc000275560, 0x0, 0x0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:110 +0x691
occamy | github.com/changkun/occamy/server.(*proxy).routeConn(0xc000114280, 0xc0002731e0, 0xc000275668, 0x8, 0xc000217618)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:219 +0x268
occamy | github.com/changkun/occamy/server.(*proxy).serveWS(0xc000114280, 0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:195 +0x447
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).middlewareImpl(0xc000216120, 0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/appleboy/gin-jwt/v2/auth_jwt.go:382 +0x2bf
occamy | github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).MiddlewareFunc.func1(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/appleboy/gin-jwt/v2/auth_jwt.go:344 +0x34
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.RecoveryWithWriter.func1(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/recovery.go:83 +0x64
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/logger.go:240 +0xe1
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0001e83c0, 0xc00021c210)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/gin.go:389 +0x5b2
occamy | github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0001e83c0, 0xc84c20, 0xc00022e460, 0xc00026c400)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/gin.go:351 +0x134
occamy | net/http.serverHandler.ServeHTTP(0xc00022e0e0, 0xc84c20, 0xc00022e460, 0xc00026c400)
occamy | /usr/local/go/src/net/http/server.go:2802 +0xa4
occamy | net/http.(*conn).serve(0xc0003c2000, 0xc86620, 0xc00006a300)
occamy | /usr/local/go/src/net/http/server.go:1890 +0x875
occamy | created by net/http.(*Server).Serve
occamy | /usr/local/go/src/net/http/server.go:2927 +0x38e
occamy |
occamy | goroutine 44 [syscall]:
occamy | syscall.Syscall(0x0, 0xe, 0xc0003ca000, 0x2000, 0xc000228380, 0xc66311, 0xb9c301)
occamy | /usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
occamy | syscall.read(0xe, 0xc0003ca000, 0x2000, 0x2000, 0xc0002731e0, 0xc00029450c, 0x14)
occamy | /usr/local/go/src/syscall/zsyscall_linux_amd64.go:732 +0x5a
occamy | syscall.Read(...)
occamy | /usr/local/go/src/syscall/syscall_unix.go:183
occamy | github.com/changkun/occamy/protocol.IO.Read(0xe, 0xc0003ca000, 0x2000, 0x2000, 0xc000251da0, 0x9e2d57, 0x0)
occamy | /go/src/github.com/changkun/occamy/protocol/io.go:21 +0x49
occamy | bufio.(*Reader).fill(0xc0001114a0)
occamy | /usr/local/go/src/bufio/bufio.go:100 +0x103
occamy | bufio.(*Reader).ReadSlice(0xc0001114a0, 0xc0003ca03b, 0x12, 0xc0002731e0, 0xc000251f58, 0x9e502c, 0xc000251f28)
occamy | /usr/local/go/src/bufio/bufio.go:359 +0x3d
occamy | bufio.(*Reader).ReadBytes(0xc0001114a0, 0x3b, 0xc0001f41e0, 0x12, 0x12, 0x0, 0x0)
occamy | /usr/local/go/src/bufio/bufio.go:437 +0x73
occamy | github.com/changkun/occamy/protocol.(*InstructionIO).ReadRaw(...)
occamy | /go/src/github.com/changkun/occamy/protocol/instruction.go:148
occamy | github.com/changkun/occamy/server.(*Session).serveIO.func1(0xc000111500, 0xc0001e56e0, 0xc000114f80, 0xc0002731e0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:181 +0x41
occamy | created by github.com/changkun/occamy/server.(*Session).serveIO
occamy | /go/src/github.com/changkun/occamy/server/session.go:178 +0xb8
occamy |
occamy | goroutine 10 [syscall, locked to thread]:
occamy | github.com/changkun/occamy/lib._Cfunc_guac_client_free(0x7f68a8000bb0)
occamy | _cgo_gotypes.go:282 +0x41
occamy | github.com/changkun/occamy/lib.(*Client).Close.func1.2(0xc0000aa480)
occamy | /go/src/github.com/changkun/occamy/lib/client.go:91 +0x5e
occamy | github.com/changkun/occamy/lib.(*Client).Close.func1()
occamy | /go/src/github.com/changkun/occamy/lib/client.go:91 +0x3d
occamy | sync.(*Once).doSlow(0xc0000aa488, 0xc000103310)
occamy | /usr/local/go/src/sync/once.go:66 +0xe3
occamy | sync.(*Once).Do(...)
occamy | /usr/local/go/src/sync/once.go:57
occamy | github.com/changkun/occamy/lib.(*Client).Close(0xc0000aa480)
occamy | /go/src/github.com/changkun/occamy/lib/client.go:89 +0x65
occamy | github.com/changkun/occamy/server.(*Session).close(0xc00009ba40)
occamy | /go/src/github.com/changkun/occamy/server/session.go:128 +0x41
occamy | github.com/changkun/occamy/server.(*Session).Join(0xc00009ba40, 0xc0004f66e0, 0xc000103668, 0x1, 0xc000103560, 0x0, 0x0)
occamy | /go/src/github.com/changkun/occamy/server/session.go:110 +0x6ac
occamy | github.com/changkun/occamy/server.(*proxy).routeConn(0xc000114280, 0xc0004f66e0, 0xc000103668, 0x8, 0xc0000be9c8)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:219 +0x268
occamy | github.com/changkun/occamy/server.(*proxy).serveWS(0xc000114280, 0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/server/connection.go:195 +0x447
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).middlewareImpl(0xc000216120, 0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/appleboy/gin-jwt/v2/auth_jwt.go:382 +0x2bf
occamy | github.com/appleboy/gin-jwt/v2.(*GinJWTMiddleware).MiddlewareFunc.func1(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/appleboy/gin-jwt/v2/auth_jwt.go:344 +0x34
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.RecoveryWithWriter.func1(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/recovery.go:83 +0x64
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/logger.go:240 +0xe1
occamy | github.com/gin-gonic/gin.(*Context).Next(0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/context.go:124 +0x3b
occamy | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc0001e83c0, 0xc0000cc2c0)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/gin.go:389 +0x5b2
occamy | github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc0001e83c0, 0xc84c20, 0xc00022e1c0, 0xc0000f2100)
occamy | /go/src/github.com/changkun/occamy/vendor/github.com/gin-gonic/gin/gin.go:351 +0x134
occamy | net/http.serverHandler.ServeHTTP(0xc00022e0e0, 0xc84c20, 0xc00022e1c0, 0xc0000f2100)
occamy | /usr/local/go/src/net/http/server.go:2802 +0xa4
occamy | net/http.(*conn).serve(0xc0000b4280, 0xc86620, 0xc0000c8000)
occamy | /usr/local/go/src/net/http/server.go:1890 +0x875
occamy | created by net/http.(*Server).Serve
occamy | /usr/local/go/src/net/http/server.go:2927 +0x38e
occamy exited with code 2
and here is a back trace:
Continuing.
[New Thread 0x7f2b8e9ff700 (LWP 35)]
[New Thread 0x7f2b8fa01700 (LWP 33)]
[New Thread 0x7f2b8f200700 (LWP 34)]
[New Thread 0x7f2b8e1fe700 (LWP 36)]
[New Thread 0x7f2b8d9fd700 (LWP 38)]
[New Thread 0x7f2b8d1fc700 (LWP 37)]
[New Thread 0x7f2b7ea4b700 (LWP 40)]
[New Thread 0x7f2b7e24a700 (LWP 41)]
[New Thread 0x7f2b7f24c700 (LWP 39)]
[New Thread 0x7f2b7da49700 (LWP 42)]
[New Thread 0x7f2b7cec0700 (LWP 43)]
[New Thread 0x7f2b63fff700 (LWP 44)]
[New Thread 0x7f2b61783700 (LWP 46)]
[New Thread 0x7f2b61f84700 (LWP 45)]
[New Thread 0x7f2b60f82700 (LWP 47)]
[New Thread 0x7f2b4bfff700 (LWP 48)]
[New Thread 0x7f2b4b7fe700 (LWP 49)]
[New Thread 0x7f2b4affd700 (LWP 50)]
[New Thread 0x7f2b4a7fc700 (LWP 51)]
[New Thread 0x7f2b49ffb700 (LWP 52)]
[New Thread 0x7f2b497fa700 (LWP 53)]
[Thread 0x7f2b4a7fc700 (LWP 51) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f2b7cec0700 (LWP 43)]
0x00007f2bacef82f4 in guac_socket_fd_read_handler (socket=0x7f2b6c004070, buf=0x7f2b8400162c, count=31164) at socket-fd.c:143
143 retval = read(data->fd, buf, count);
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 cairo-1.15.12-4.el7.x86_64 dbus-libs-1.10.24-13.el7_6.x86_64 elfutils-libelf-0.176-2.el7.x86_64 elfutils-libs-0.176-2.el7.x86_64 expat-2.1.0-10.el7_3.x86_64 flac-libs-1.3.0-5.el7_1.x86_64 fontconfig-2.13.0-4.3.el7.x86_64 freerdp-libs-1.0.2-15.el7.x86_64 freerdp-plugins-1.0.2-15.el7.x86_64 freetype-2.8-14.el7.x86_64 fribidi-1.0.2-1.el7.x86_64 glib2-2.56.1-5.el7.x86_64 glibc-2.17-292.el7.x86_64 gmp-6.0.0-15.el7.x86_64 gnutls-3.3.29-9.el7_6.x86_64 graphite2-1.3.10-1.el7_3.x86_64 gsm-1.0.13-11.el7.x86_64 harfbuzz-1.7.5-2.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-37.el7_7.2.x86_64 libICE-1.0.9-9.el7.x86_64 libSM-1.2.2-2.el7.x86_64 libX11-1.6.7-2.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXi-1.7.9-1.el7.x86_64 libXrender-0.9.10-1.el7.x86_64 libXtst-1.2.3-1.el7.x86_64 libasyncns-0.8-7.el7.x86_64 libattr-2.4.46-13.el7.x86_64 libcap-2.22-10.el7.x86_64 libcom_err-1.42.9-16.el7.x86_64 libffi-3.0.13-18.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64 libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libjpeg-turbo-1.2.90-8.el7.x86_64 libogg-1.3.0-7.el7.x86_64 libpng-1.5.13-7.el7_2.x86_64 libselinux-2.5-14.1.el7.x86_64 libsndfile-1.0.25-10.el7.x86_64 libssh2-1.8.0-3.el7.x86_64 libtasn1-4.10-1.el7.x86_64 libthai-0.1.14-9.el7.x86_64 libuuid-2.23.2-61.el7.x86_64 libvncserver-0.9.9-13.el7_6.x86_64 libvorbis-1.3.3-8.el7.1.x86_64 libwebp-0.3.0-7.el7.x86_64 libxcb-1.13-1.el7.x86_64 lz4-1.7.5-3.el7.x86_64 lzo-minilzo-2.06-8.el7.x86_64 nettle-2.7.1-8.el7.x86_64 openssl-libs-1.0.2k-19.el7.x86_64 p11-kit-0.23.5-3.el7.x86_64 pango-1.42.4-4.el7_7.x86_64 pcre-8.32-17.el7.x86_64 pixman-0.34.0-1.el7.x86_64 pulseaudio-libs-10.0-5.el7.x86_64 systemd-libs-219-67.el7_7.2.x86_64 tcp_wrappers-libs-7.6-77.el7.x86_64 uuid-1.6.2-26.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) bt
#0 0x00007f2bacef82f4 in guac_socket_fd_read_handler (socket=0x7f2b6c004070, buf=0x7f2b8400162c, count=31164) at socket-fd.c:143
#1 0x00007f2bacef482b in guac_parser_read (parser=parser@entry=0x7f2b84000bb0, socket=socket@entry=0x7f2b6c004070, usec_timeout=usec_timeout@entry=15000000) at parser.c:227
#2 0x00007f2bacef9e55 in guac_user_input_thread (data=<optimized out>) at user-handshake.c:201
#3 0x00007f2baccd7e65 in start_thread () at /lib64/libpthread.so.0
#4 0x00007f2baca0088d in clone () at /lib64/libc.so.6
from occamy.
The previous panic does not appear in the master branch. It is a bug in local changes.
Close since the issue is fixed in 12e3421.
from occamy.
Related Issues (20)
- Cgo panic HOT 3
- Supporting server benchmarking & debugging
- Write down all benchmarking and debugging facilities
- Panics under high pressure HOT 6
- Improving network traffic in Guacamole protocol
- SSH cannot be joined twice HOT 6
- provide guidelines to install from source HOT 4
- rdp 代理 HOT 3
- rfbInitClient segmentation fault on macOS native builds
- 404 error on /api/v1/login HOT 2
- Redesign protocol instructions
- unable to connect to windows rdp server HOT 6
- Fail to build docker HOT 6
- Change to non centos docker, due to RedHat close sourcing centos HOT 2
- Change to a GIO client HOT 4
- sir,do we must install a vnc server? HOT 2
- docker example like https://github.com/function61/screen-server HOT 1
- 感谢作者,请问此项目可用于生产环境中吗? HOT 1
- Fixing cgo errors of undefined existing C struct fields
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from occamy.