EliasStar / DashD

Lightweight daemon for Raspberry Pi driven kiosks
GNU General Public License v3.0
2 stars 0 forks source link

Unable to init server: Could not connect: Connection refused #8

Closed mishoboss closed 2 years ago

mishoboss commented 2 years ago

Description When /usr/local/sbin/dashd is executed I get the following error:

sudo /usr/local/sbin/dashd -lighting_enabled=false -screen_enabled=false -default_url="http://192.168.80.100:7878/"
[Display] Starting.
[Server] Starting.
[Server] Listening on: 80
Unable to init server: Could not connect: Connection refused
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x5fb950]

runtime stack:
runtime.throw({0x675bb7?, 0xffff70003d70?})
        /usr/local/go/src/runtime/panic.go:992 +0x50
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:802 +0x1e8

goroutine 34 [syscall]:
runtime.cgocall(0x5fb454, 0x4000030ee8)
        /usr/local/go/src/runtime/cgocall.go:157 +0x54 fp=0x4000030eb0 sp=0x4000030e70 pc=0x4086b4
github.com/webview/webview._Cfunc_webview_set_title(0x0, 0xffff70003d70)
        _cgo_gotypes.go:277 +0x38 fp=0x4000030ee0 sp=0x4000030eb0 pc=0x4da3b8
github.com/webview/webview.(*webview).SetTitle.func2(0xffff70003d70?, 0x5?)
        /go/pkg/mod/github.com/webview/webview@v0.0.0-20220613032649-1df219123fb2/webview.go:180 +0x54 fp=0x4000030f20 sp=0x4000030ee0 pc=0x4dab64
github.com/webview/webview.(*webview).SetTitle(0x0?, {0x6680f9?, 0x0?})
        /go/pkg/mod/github.com/webview/webview@v0.0.0-20220613032649-1df219123fb2/webview.go:180 +0x58 fp=0x4000030f60 sp=0x4000030f20 pc=0x4daab8
github.com/EliasStar/DashD/display.Init.func1()
        /dashd/app/display/display.go:20 +0xe4 fp=0x4000030fd0 sp=0x4000030f60 pc=0x4db884
runtime.goexit()
        /usr/local/go/src/runtime/asm_arm64.s:1263 +0x4 fp=0x4000030fd0 sp=0x4000030fd0 pc=0x467be4
created by github.com/EliasStar/DashD/display.Init
        /dashd/app/display/display.go:17 +0xc0

goroutine 1 [chan receive, locked to thread]:
main.main()
        /dashd/app/main.go:44 +0x300

goroutine 5 [syscall]:
os/signal.signal_recv()
        /usr/local/go/src/runtime/sigqueue.go:151 +0x34
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
        /usr/local/go/src/os/signal/signal.go:151 +0x30

goroutine 35 [IO wait]:
internal/poll.runtime_pollWait(0xffff862e8ee8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:302 +0xa4
internal/poll.(*pollDesc).wait(0x4000188000?, 0x648c20?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x2c
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Accept(0x4000188000)
        /usr/local/go/src/internal/poll/fd_unix.go:614 +0x1d8
net.(*netFD).accept(0x4000188000)
        /usr/local/go/src/net/fd_unix.go:172 +0x28
net.(*TCPListener).accept(0x40000a6150)
        /usr/local/go/src/net/tcpsock_posix.go:139 +0x2c
net.(*TCPListener).Accept(0x40000a6150)
        /usr/local/go/src/net/tcpsock.go:288 +0x30
net/http.(*Server).Serve(0x86a540, {0x6dffd8, 0x40000a6150})
        /usr/local/go/src/net/http/server.go:3039 +0x300
net/http.(*Server).ListenAndServe(0x86a540)
        /usr/local/go/src/net/http/server.go:2968 +0x88
github.com/EliasStar/DashD/server.Listen(0x0?, 0x0?)
        /dashd/app/server/server.go:53 +0xe4
created by main.main
        /dashd/app/main.go:42 +0x2ec

From what I understand, this issue could be because of multithreaded CPU. Go runs the http on another goroutine. This is a thread with more info: https://github.com/golang/go/issues/26698

How To Reproduce Just run on a multithreaded CPU.

EliasStar commented 2 years ago

I have DashD running on a RPI 0 which has a quad core cpu. Also DashD doesn't use net/http. The error originates from the webview library (probably unsafe pointer deref in c -> seg fault). Could you try and start DashD without the default_url flag?

mishoboss commented 2 years ago

Same result. Unfortunately. Any other idea how to debug it?

EliasStar commented 2 years ago

I have a suspicion as to what may be causing it. I have seen over at the webview repo that someone was experiencing crashes when the window was being created in a separate os thread. It could be that Go decided to give the display goroutine a separate thread on your platform as opposed to running it on the main thread on my RPi. The webview library is in general pretty unstable and I'll maybe replace it if i can't find a solution which satisfies the architecture of DashD.

mishoboss commented 2 years ago

Is there an easy workaround that won't take a lot of time? I would really like to run the daemon soon.

EliasStar commented 2 years ago

A fix is in progress. Unfortunatly there is no user workaround exept using another CPU/board which might behave differently. However I have already made some changes, which you could try. I haven't tested them yet so report back if they don't work. Here are the patched binaries

mishoboss commented 2 years ago

A fix is in progress. Unfortunatly there is no user workaround exept using another CPU/board which might behave differently. However I have already made some changes, which you could try. I haven't tested them yet so report back if they don't work. Here are the patched binaries

Unfortunately nothing has changed.

mishoboss commented 2 years ago

Actually, I get goroutine 1 [syscall, locked to thread]: now:

image
EliasStar commented 2 years ago

I have seen just now that the crash occurs in SetTitle which I haven't touched in my patch so no wonder it didn't change anything. Here is another version you can try.

mishoboss commented 2 years ago

Thanks, it's definitively a step forward. However I get Could not connect: Connection refused again, just no additional errors:

image

I tried with the 9090 port as well, just to be sure.

mishoboss commented 2 years ago

If I disable the display - -display_enabled=false the error is gone, but of course no website is shown either. This definitively comes from the WebKitGTK.

EliasStar commented 2 years ago

Can you post the output of ldd /usr/local/sbin/dashd?

mishoboss commented 2 years ago
        linux-vdso.so.1 (0x0000ffffa027d000)
        libwebkit2gtk-4.0.so.37 => /lib/aarch64-linux-gnu/libwebkit2gtk-4.0.so.37 (0x0000ffff9d223000)
        libgtk-3.so.0 => /lib/aarch64-linux-gnu/libgtk-3.so.0 (0x0000ffff9ca33000)
        libjavascriptcoregtk-4.0.so.18 => /lib/aarch64-linux-gnu/libjavascriptcoregtk-4.0.so.18 (0x0000ffff9b6f5000)
        libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000ffff9b688000)
        libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffff9b545000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff9b514000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff9b33c000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff9b291000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff9b26d000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff9b0f7000)
        libwpe-1.0.so.1 => /lib/aarch64-linux-gnu/libwpe-1.0.so.1 (0x0000ffff9b0de000)
        libWPEBackend-fdo-1.0.so.1 => /lib/aarch64-linux-gnu/libWPEBackend-fdo-1.0.so.1 (0x0000ffff9b0bb000)
        libEGL.so.1 => /lib/aarch64-linux-gnu/libEGL.so.1 (0x0000ffff9b096000)
        librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff9b07e000)
        libnotify.so.4 => /lib/aarch64-linux-gnu/libnotify.so.4 (0x0000ffff9b065000)
        libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000ffff9b031000)
        libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000ffff9ae2c000)
        libicudata.so.67 => /lib/aarch64-linux-gnu/libicudata.so.67 (0x0000ffff99305000)
        libicui18n.so.67 => /lib/aarch64-linux-gnu/libicui18n.so.67 (0x0000ffff98ffb000)
        libicuuc.so.67 => /lib/aarch64-linux-gnu/libicuuc.so.67 (0x0000ffff98e03000)
        libsystemd.so.0 => /lib/aarch64-linux-gnu/libsystemd.so.0 (0x0000ffff98d3d000)
        libgdk-3.so.0 => /lib/aarch64-linux-gnu/libgdk-3.so.0 (0x0000ffff98c25000)
        libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000ffff98c06000)
        libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000ffff98ba5000)
        libharfbuzz.so.0 => /lib/aarch64-linux-gnu/libharfbuzz.so.0 (0x0000ffff98ab5000)
        libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000ffff98a9b000)
        libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000ffff98972000)
        libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000ffff987c5000)
        libsqlite3.so.0 => /lib/aarch64-linux-gnu/libsqlite3.so.0 (0x0000ffff98679000)
        libxslt.so.1 => /lib/aarch64-linux-gnu/libxslt.so.1 (0x0000ffff98629000)
        libGLESv2.so.2 => /lib/aarch64-linux-gnu/libGLESv2.so.2 (0x0000ffff985f4000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff985e0000)
        liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000ffff98571000)
        libwoff2dec.so.1.0.2 => /lib/aarch64-linux-gnu/libwoff2dec.so.1.0.2 (0x0000ffff98557000)
        libfontconfig.so.1 => /lib/aarch64-linux-gnu/libfontconfig.so.1 (0x0000ffff98502000)
        libfreetype.so.6 => /lib/aarch64-linux-gnu/libfreetype.so.6 (0x0000ffff9843b000)
        libharfbuzz-icu.so.0 => /lib/aarch64-linux-gnu/libharfbuzz-icu.so.0 (0x0000ffff98426000)
        libgcrypt.so.20 => /lib/aarch64-linux-gnu/libgcrypt.so.20 (0x0000ffff98356000)
        libgpg-error.so.0 => /lib/aarch64-linux-gnu/libgpg-error.so.0 (0x0000ffff98323000)
        libgstapp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstapp-1.0.so.0 (0x0000ffff98301000)
        libgstbase-1.0.so.0 => /lib/aarch64-linux-gnu/libgstbase-1.0.so.0 (0x0000ffff98277000)
        libgstreamer-1.0.so.0 => /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0 (0x0000ffff98113000)
        libgstpbutils-1.0.so.0 => /lib/aarch64-linux-gnu/libgstpbutils-1.0.so.0 (0x0000ffff980c4000)
        libgstaudio-1.0.so.0 => /lib/aarch64-linux-gnu/libgstaudio-1.0.so.0 (0x0000ffff98040000)
        libgsttag-1.0.so.0 => /lib/aarch64-linux-gnu/libgsttag-1.0.so.0 (0x0000ffff97ff1000)
        libgstvideo-1.0.so.0 => /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0 (0x0000ffff97f31000)
        libgstgl-1.0.so.0 => /lib/aarch64-linux-gnu/libgstgl-1.0.so.0 (0x0000ffff97ea7000)
        libgstfft-1.0.so.0 => /lib/aarch64-linux-gnu/libgstfft-1.0.so.0 (0x0000ffff97e8d000)
        libjpeg.so.62 => /lib/aarch64-linux-gnu/libjpeg.so.62 (0x0000ffff97e3b000)
        libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000ffff97df4000)
        libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff97dca000)
        libopenjp2.so.7 => /lib/aarch64-linux-gnu/libopenjp2.so.7 (0x0000ffff97d64000)
        libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000ffff97d4f000)
        libwebp.so.6 => /lib/aarch64-linux-gnu/libwebp.so.6 (0x0000ffff97ced000)
        libsoup-2.4.so.1 => /lib/aarch64-linux-gnu/libsoup-2.4.so.1 (0x0000ffff97c3b000)
        libatk-1.0.so.0 => /lib/aarch64-linux-gnu/libatk-1.0.so.0 (0x0000ffff97c01000)
        libenchant-2.so.2 => /lib/aarch64-linux-gnu/libenchant-2.so.2 (0x0000ffff97be5000)
        libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000ffff97bd1000)
        libsecret-1.so.0 => /lib/aarch64-linux-gnu/libsecret-1.so.0 (0x0000ffff97b60000)
        libtasn1.so.6 => /lib/aarch64-linux-gnu/libtasn1.so.6 (0x0000ffff97b3c000)
        libhyphen.so.0 => /lib/aarch64-linux-gnu/libhyphen.so.0 (0x0000ffff97b24000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffff979d7000)
        libXcomposite.so.1 => /lib/aarch64-linux-gnu/libXcomposite.so.1 (0x0000ffff979c3000)
        libXdamage.so.1 => /lib/aarch64-linux-gnu/libXdamage.so.1 (0x0000ffff979b0000)
        libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000ffff97997000)
        libXt.so.6 => /lib/aarch64-linux-gnu/libXt.so.6 (0x0000ffff97920000)
        libwayland-server.so.0 => /lib/aarch64-linux-gnu/libwayland-server.so.0 (0x0000ffff978fa000)
        libwayland-egl.so.1 => /lib/aarch64-linux-gnu/libwayland-egl.so.1 (0x0000ffff978e8000)
        libwayland-client.so.0 => /lib/aarch64-linux-gnu/libwayland-client.so.0 (0x0000ffff978c9000)
        libmanette-0.2.so.0 => /lib/aarch64-linux-gnu/libmanette-0.2.so.0 (0x0000ffff9788a000)
        libseccomp.so.2 => /lib/aarch64-linux-gnu/libseccomp.so.2 (0x0000ffff9785b000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffa024d000)
        libXi.so.6 => /lib/aarch64-linux-gnu/libXi.so.6 (0x0000ffff97839000)
        libXfixes.so.3 => /lib/aarch64-linux-gnu/libXfixes.so.3 (0x0000ffff97823000)
        libatk-bridge-2.0.so.0 => /lib/aarch64-linux-gnu/libatk-bridge-2.0.so.0 (0x0000ffff977dd000)
        libepoxy.so.0 => /lib/aarch64-linux-gnu/libepoxy.so.0 (0x0000ffff97687000)
        libfribidi.so.0 => /lib/aarch64-linux-gnu/libfribidi.so.0 (0x0000ffff9765c000)
        libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000ffff97635000)
        libffi.so.7 => /lib/aarch64-linux-gnu/libffi.so.7 (0x0000ffff9761a000)
        libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffff975a8000)
        libxkbcommon.so.0 => /lib/aarch64-linux-gnu/libxkbcommon.so.0 (0x0000ffff97557000)
        libGLdispatch.so.0 => /lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000ffff973cc000)
        libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000ffff97359000)
        libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000ffff9731e000)
        libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff972f7000)
        liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000ffff972c1000)
        libzstd.so.1 => /lib/aarch64-linux-gnu/libzstd.so.1 (0x0000ffff971f5000)
        liblz4.so.1 => /lib/aarch64-linux-gnu/liblz4.so.1 (0x0000ffff971c4000)
        libXinerama.so.1 => /lib/aarch64-linux-gnu/libXinerama.so.1 (0x0000ffff971b1000)
        libXrandr.so.2 => /lib/aarch64-linux-gnu/libXrandr.so.2 (0x0000ffff97197000)
        libXcursor.so.1 => /lib/aarch64-linux-gnu/libXcursor.so.1 (0x0000ffff9717c000)
        libwayland-cursor.so.0 => /lib/aarch64-linux-gnu/libwayland-cursor.so.0 (0x0000ffff97164000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000ffff97140000)
        libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000ffff97125000)
        libgraphite2.so.3 => /lib/aarch64-linux-gnu/libgraphite2.so.3 (0x0000ffff970f3000)
        libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000ffff97080000)
        libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000ffff9706c000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff97034000)
        libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000ffff97015000)
        libwoff2common.so.1.0.2 => /lib/aarch64-linux-gnu/libwoff2common.so.1.0.2 (0x0000ffff97002000)
        libbrotlidec.so.1 => /lib/aarch64-linux-gnu/libbrotlidec.so.1 (0x0000ffff96fe7000)
        libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000ffff96faf000)
        libuuid.so.1 => /lib/aarch64-linux-gnu/libuuid.so.1 (0x0000ffff96f97000)
        libunwind.so.8 => /lib/aarch64-linux-gnu/libunwind.so.8 (0x0000ffff96f56000)
        libdw.so.1 => /lib/aarch64-linux-gnu/libdw.so.1 (0x0000ffff96ea5000)
        liborc-0.4.so.0 => /lib/aarch64-linux-gnu/liborc-0.4.so.0 (0x0000ffff96e12000)
        libgstallocators-1.0.so.0 => /lib/aarch64-linux-gnu/libgstallocators-1.0.so.0 (0x0000ffff96dfd000)
        libGL.so.1 => /lib/aarch64-linux-gnu/libGL.so.1 (0x0000ffff96d06000)
        libX11-xcb.so.1 => /lib/aarch64-linux-gnu/libX11-xcb.so.1 (0x0000ffff96cf2000)
        libgudev-1.0.so.0 => /lib/aarch64-linux-gnu/libgudev-1.0.so.0 (0x0000ffff96cd6000)
        libdrm.so.2 => /lib/aarch64-linux-gnu/libdrm.so.2 (0x0000ffff96cb3000)
        libgbm.so.1 => /lib/aarch64-linux-gnu/libgbm.so.1 (0x0000ffff96c95000)
        libgssapi_krb5.so.2 => /lib/aarch64-linux-gnu/libgssapi_krb5.so.2 (0x0000ffff96c37000)
        libpsl.so.5 => /lib/aarch64-linux-gnu/libpsl.so.5 (0x0000ffff96c13000)
        libSM.so.6 => /lib/aarch64-linux-gnu/libSM.so.6 (0x0000ffff96bfb000)
        libICE.so.6 => /lib/aarch64-linux-gnu/libICE.so.6 (0x0000ffff96bd0000)
        libevdev.so.2 => /lib/aarch64-linux-gnu/libevdev.so.2 (0x0000ffff96ba4000)
        libdbus-1.so.3 => /lib/aarch64-linux-gnu/libdbus-1.so.3 (0x0000ffff96b3d000)
        libatspi.so.0 => /lib/aarch64-linux-gnu/libatspi.so.0 (0x0000ffff96af6000)
        libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000ffff96a92000)
        libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000ffff96a01000)
        libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000ffff969e7000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff969d3000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff969bd000)
        libbrotlicommon.so.1 => /lib/aarch64-linux-gnu/libbrotlicommon.so.1 (0x0000ffff9698c000)
        libelf.so.1 => /lib/aarch64-linux-gnu/libelf.so.1 (0x0000ffff96961000)
        libbz2.so.1.0 => /lib/aarch64-linux-gnu/libbz2.so.1.0 (0x0000ffff9693e000)
        libGLX.so.0 => /lib/aarch64-linux-gnu/libGLX.so.0 (0x0000ffff968fb000)
        libudev.so.1 => /lib/aarch64-linux-gnu/libudev.so.1 (0x0000ffff968c4000)
        libkrb5.so.3 => /lib/aarch64-linux-gnu/libkrb5.so.3 (0x0000ffff967da000)
        libk5crypto.so.3 => /lib/aarch64-linux-gnu/libk5crypto.so.3 (0x0000ffff9679c000)
        libcom_err.so.2 => /lib/aarch64-linux-gnu/libcom_err.so.2 (0x0000ffff96786000)
        libkrb5support.so.0 => /lib/aarch64-linux-gnu/libkrb5support.so.0 (0x0000ffff96769000)
        libunistring.so.2 => /lib/aarch64-linux-gnu/libunistring.so.2 (0x0000ffff965dd000)
        libidn2.so.0 => /lib/aarch64-linux-gnu/libidn2.so.0 (0x0000ffff965ad000)
        libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff96588000)
        libkeyutils.so.1 => /lib/aarch64-linux-gnu/libkeyutils.so.1 (0x0000ffff96571000)
        libmd.so.0 => /lib/aarch64-linux-gnu/libmd.so.0 (0x0000ffff96555000)
EliasStar commented 2 years ago

So I just figured out that the error happens because WebKit can't connect to your Xserver. Make sure your Xserver is running and you launch DashD with DISPLAY=:0 set as environment variable or in a terminal emulator running in an X context. If you use the recommended setup from the README it should just work™.

EliasStar commented 2 years ago

closing as the seg fault is already fixed