go-qml / qml

QML support for the Go language
Other
1.96k stars 189 forks source link

Hard dependence on GLX #127

Open taruti opened 9 years ago

taruti commented 9 years ago

It seems that in environments where there is no GLX but qmlviewer-qt5 works all go-qml apps fail to work even if they don't import any opengl stuff. This can be tested e.g. with examples/controls/basiclayouts.

A simple way to reproduce this is to X forwarding on linux. 1) ssh -X devmachine 2) try qmlviewer-qt5 it should work 3) cd $GOPATH/src/gopkg.in/qml.v1/examples/controls/basiclayouts 4) go build 5) ./basiclayouts

Produces the following crash:

2014/11/26 09:29:33 qxcbconnection.cpp:1703: Qt: XKEYBOARD extension not present on the X server.
2014/11/26 09:29:33 qglxintegration.cpp:297: Could not initialize GLX
SIGABRT: abort
PC=0x7f59b4eb1a97
signal arrived during cgo execution

goroutine 16 [syscall]:
runtime.cgocallbackg()
    /go/stable/src/pkg/runtime/cgocall.c:244 +0x4c fp=0x7f59acc0bed8 sp=0x7f59acc0bec8
runtime.cgocallback_gofunc(0x47f24d, 0x43ef70, 0x7f59acc0bf50)
    /go/stable/src/pkg/runtime/asm_amd64.s:785 +0x67 fp=0x7f59acc0bee8 sp=0x7f59acc0bed8
runtime.asmcgocall(0x43ef70, 0x7f59acc0bf50)
    /go/stable/src/pkg/runtime/asm_amd64.s:691 +0x3a fp=0x7f59acc0bef0 sp=0x7f59acc0bee8
runtime.cgocall(0x43ef70, 0x7f59acc0bf50)
    /go/stable/src/pkg/runtime/cgocall.c:143 +0xfd fp=0x7f59acc0bf38 sp=0x7f59acc0bef0
gopkg.in/qml%2ev1._Cfunc_componentCreateWindow(0x1e65500, 0x0, 0x4bac00)
    gopkg.in/qml.v1/_obj/_cgo_defun.c:95 +0x31 fp=0x7f59acc0bf50 sp=0x7f59acc0bf38
gopkg.in/qml%2ev1.func·026()
    /go/path/src/gopkg.in/qml.v1/qml.go:750 +0x57 fp=0x7f59acc0bf78 sp=0x7f59acc0bf50
gopkg.in/qml%2ev1.hookIdleTimer()
    /go/path/src/gopkg.in/qml.v1/bridge.go:190 +0x5e fp=0x7f59acc0bfa8 sp=0x7f59acc0bf78
----- stack segment boundary -----
runtime.cgocallbackg1()
    /go/stable/src/pkg/runtime/cgocall.c:271 +0xb9 fp=0x7f59acbf5db8 sp=0x7f59acbf5d60
runtime.cgocallbackg()
    /go/stable/src/pkg/runtime/cgocall.c:243 +0x47 fp=0x7f59acbf5dc8 sp=0x7f59acbf5db8
runtime.cgocallback_gofunc(0x47f24d, 0x43ee30, 0x7f59acbf5e40)
    /go/stable/src/pkg/runtime/asm_amd64.s:785 +0x67 fp=0x7f59acbf5dd8 sp=0x7f59acbf5dc8
runtime.asmcgocall(0x43ee30, 0x7f59acbf5e40)
    /go/stable/src/pkg/runtime/asm_amd64.s:691 +0x3a fp=0x7f59acbf5de0 sp=0x7f59acbf5dd8
runtime.cgocall(0x43ee30, 0x7f59acbf5e40)
    /go/stable/src/pkg/runtime/cgocall.c:143 +0xfd fp=0x7f59acbf5e28 sp=0x7f59acbf5de0
gopkg.in/qml%2ev1._Cfunc_applicationExec(0x56ff80)
    gopkg.in/qml.v1/_obj/_cgo_defun.c:59 +0x31 fp=0x7f59acbf5e40 sp=0x7f59acbf5e28
gopkg.in/qml%2ev1.Run(0x5c56f0, 0x0, 0x0)
    /go/path/src/gopkg.in/qml.v1/bridge.go:63 +0x1ac fp=0x7f59acbf5ea0 sp=0x7f59acbf5e40
main.main()
    /go/path/src/gopkg.in/qml.v1/examples/controls/basiclayouts/basiclayouts.go:10 +0x2f fp=0x7f59acbf5f50 sp=0x7f59acbf5ea0
runtime.main()
    /go/stable/src/pkg/runtime/proc.c:247 +0x11a fp=0x7f59acbf5fa8 sp=0x7f59acbf5f50
runtime.goexit()
    /go/stable/src/pkg/runtime/proc.c:1445 fp=0x7f59acbf5fb0 sp=0x7f59acbf5fa8
created by _rt0_go
    /go/stable/src/pkg/runtime/asm_amd64.s:97 +0x120

goroutine 19 [finalizer wait]:
runtime.park(0x48e4f0, 0x85d198, 0x84fa89)
    /go/stable/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x85d198, 0x84fa89)
    /go/stable/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
    /go/stable/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
    /go/stable/src/pkg/runtime/proc.c:1445

goroutine 17 [syscall]:
runtime.goexit()
    /go/stable/src/pkg/runtime/proc.c:1445

goroutine 20 [chan receive]:
gopkg.in/qml%2ev1.RunMain(0xc208034100)
    /go/path/src/gopkg.in/qml.v1/bridge.go:88 +0xd0
gopkg.in/qml%2ev1.(*Common).CreateWindow(0xc208000340, 0x0, 0x8)
    /go/path/src/gopkg.in/qml.v1/qml.go:751 +0x123
main.run(0x0, 0x0)
    /go/path/src/gopkg.in/qml.v1/examples/controls/basiclayouts/basiclayouts.go:24 +0xa1
gopkg.in/qml%2ev1.func·002()
    /go/path/src/gopkg.in/qml.v1/bridge.go:60 +0x46
created by gopkg.in/qml%2ev1.Run
    /go/path/src/gopkg.in/qml.v1/bridge.go:62 +0x1a5

rax     0x0
rbx     0x1e7b000
rcx     0xffffffffffffffff
rdx     0x6
rdi     0x3b46
rsi     0x3b46
rbp     0x1e7b028
rsp     0x7fff39551708
r8      0xffffffff
r9      0x7f59b837e0d0
r10     0x8
r11     0x202
r12     0x0
r13     0x1d5a2e0
r14     0x7fff39551a40
r15     0x7fff39551aa0
rip     0x7f59b4eb1a97
rflags  0x202
cs      0x33
fs      0x0
gs      0x0