axolotl-chat / axolotl

A Signal compatible cross plattform client written in Go, Rust and Vuejs
https://axolotl.chat
GNU General Public License v3.0
326 stars 52 forks source link

panic: http: multiple registrations for / #458

Open gcclinux opened 3 years ago

gcclinux commented 3 years ago

Description

Error loading after fresh install

Steps to Reproduce

`pi@raspberrypi:~ $ uname -a Linux raspberrypi 5.10.11-v7l+ #1399 SMP Thu Jan 28 12:09:48 GMT 2021 armv7l GNU/Linux pi@raspberrypi:~ $ axolotl ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored. INFO[0000] [axolotl] Starting Signal for Ubuntu version 0.9.8 INFO[0000] [axolotl] Setup completed
DEBU[0000] [axolotl] Run Backend
DEBU[0000] [axolotl] openDb: /home/pi/snap/axolotl/381/.local/share/textsecure.nanuc/db DEBU[0000] [axolotl] NewDataStore
INFO[0000] [axolotl] Axolotl server started
INFO[0000] [axolotl] Starting axolotl ws
INFO[0000] [axolotl] Start electron
INFO[0000] astikit: starting worker...
DEBU[0000] [axolotl] Using axolotl-web path /snap/axolotl/381/bin/axolotl-web/ ERRO[0000] [axolotl] webserver errorlisten tcp 127.0.0.1:9080: listen: operation not permitted DEBU[0000] [axolotl] Using axolotl-web path /snap/axolotl/381/bin/axolotl-web/ ERRO[0000] [axolotl] webserver error
ERRO[0000] [axolotl] webserver error
panic: http: multiple registrations for /

goroutine 7 [running]: net/http.(*ServeMux).Handle(0xc73fd0, 0x762479, 0x1, 0x8c2dd8, 0x2388088) /snap/go/6735/src/net/http/server.go:2433 +0x278 net/http.Handle(...) /snap/go/6735/src/net/http/server.go:2476 github.com/nanu-c/axolotl/app/webserver.webserver() /build/axolotl/parts/axolotl/build/app/webserver/webserver.go:438 +0x20c github.com/nanu-c/axolotl/app/webserver.Run(0x2072280, 0x776c75) /build/axolotl/parts/axolotl/build/app/webserver/webserver.go:44 +0x84 main.runWebserver() /build/axolotl/parts/axolotl/build/main.go:142 +0x78 created by main.main /build/axolotl/parts/axolotl/build/main.go:152 +0x84 `

Versions

Please provide the Version as written in Settings->About Axolotl

$ snap list | grep axolotl axolotl 0.9.9 381 stable nanu -

Device

Raspberry PI 4

Link to Debug Log

Please provide a link to debug from ~/.cache/upstart/application-click-textsecure.nanuc_textsecure*.log Be careful it contains sensible data

$ cat ~/.cache/upstart/application-click-textsecure.nanuc_textsecure.log cat: '/home/pi/.cache/upstart/application-click-textsecure.nanuc_textsecure.log': No such file or directory

nanu-c commented 3 years ago

panic: http: multiple registrations for / means that port 9080 is already in use. Maybe you started axolotl twice or the port is already used by something else. sudo netstat -tulpen shows what is using the port.

gcclinux commented 3 years ago

Hello,

I don't think that is the issue as it was clean rebooted and nothing else running, port 9080 is not in use.

$ sudo netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          65613      13219/sshd          
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      0          16070      444/cupsd           
tcp6       0      0 :::22                   :::*                    LISTEN      0          65615      13219/sshd          
tcp6       0      0 ::1:631                 :::*                    LISTEN      0          16069      444/cupsd           
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          19004      458/dhcpcd          
udp        0      0 0.0.0.0:631             0.0.0.0:*                           0          18484      525/cups-browsed    
udp        0      0 224.0.0.251:5353        0.0.0.0:*                           1000       79822      18573/chromium-brow 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           108        65140      13320/avahi-daemon: 
udp        0      0 0.0.0.0:55597           0.0.0.0:*                           108        65142      13320/avahi-daemon: 
udp6       0      0 :::546                  :::*                                0          20403      458/dhcpcd          
udp6       0      0 :::5353                 :::*                                108        65141      13320/avahi-daemon: 
udp6       0      0 :::48975                :::*                                108        65143      13320/avahi-daemon: 

But thinking about this, this is snap does it not need network permissions?

Tried to connect but it's not working:

$ sudo snap interfaces axolotl
Slot                             Plug
gnome-3-28-1804:gnome-3-28-1804  axolotl
gtk-common-themes:gtk-3-themes   axolotl
gtk-common-themes:icon-themes    axolotl
gtk-common-themes:sound-themes   axolotl
-                                axolotl:browser-sandbox
-                                axolotl:desktop
-                                axolotl:desktop-legacy
-                                axolotl:gsettings
-                                axolotl:home
-                                axolotl:network
-                                axolotl:network-bind
-                                axolotl:network-manager
-                                axolotl:opengl
-                                axolotl:pulseaudio
-                                axolotl:unity7
-                                axolotl:wayland
-                                axolotl:x11

$ sudo snap connect axolotl:network error: cannot resolve connection, slot snap name is empty

I appreciate your help, thank you

BugInACode commented 3 years ago

I'm running 0.9.9 on mobian pinephone, was starting and working fine yesterday but today it not does not start and produces similar error:

INFO[0000] [axolotl] Starting Signal for Ubuntu version 0.9.8 
INFO[0000] [axolotl] Setup completed                    
INFO[0000] [axolotl] Start electron                     
INFO[0000] [axolotl] Axolotl server started             
INFO[0000] [axolotl] Starting axolotl ws                
INFO[0000] astikit: starting worker...                  
DEBU[0000] [axolotl] Using axolotl-web path /usr/share/axolotl/axolotl-web/dist 
DEBU[0000] [axolotl] Run Backend                        
DEBU[0000] [axolotl] openDb: /home/mobian/.local/share/textsecure.nanuc/db 
DEBU[0000] [axolotl] NewDataStore                       
ERRO[0000] [axolotl] webserver errorlisten tcp 127.0.0.1:9080: bind: address already in use 
DEBU[0000] [axolotl] Using axolotl-web path /usr/share/axolotl/axolotl-web/dist 
ERRO[0000] [axolotl] webserver error                    
ERRO[0000] [axolotl] webserver error                    
panic: http: multiple registrations for /

goroutine 20 [running]:
net/http.(*ServeMux).Handle(0x11b1780, 0xbb8a7d, 0x1, 0xd24900, 0x4000096090)
    /usr/lib/go-1.15/src/net/http/server.go:2433 +0x27c
net/http.Handle(...)
    /usr/lib/go-1.15/src/net/http/server.go:2476
github.com/nanu-c/axolotl/app/webserver.webserver()
    /home/mobian/go/pkg/mod/github.com/nanu-c/axolotl@v0.9.9/app/webserver/webserver.go:438 +0x25c
github.com/nanu-c/axolotl/app/webserver.Run(0x40001e2150, 0xbcce18)
    /home/mobian/go/pkg/mod/github.com/nanu-c/axolotl@v0.9.9/app/webserver/webserver.go:44 +0x8c
main.runWebserver()
    /home/mobian/go/pkg/mod/github.com/nanu-c/axolotl@v0.9.9/main.go:142 +0x80
created by main.main
    /home/mobian/go/pkg/mod/github.com/nanu-c/axolotl@v0.9.9/main.go:152 +0x94
nanu-c commented 3 years ago

panic: http: multiple registrations for / means, you have something running on port 9080 what does netstat -tulpen say?

BugInACode commented 3 years ago
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      103        3772       -                   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          7033       -                   
tcp        0      0 127.0.0.1:9080          0.0.0.0:*               LISTEN      1000       11519      1313/axolotl        
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          11640      -                   
tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN      0          7083       -                   
tcp        0      0 127.0.0.1:2947          0.0.0.0:*               LISTEN      0          6695       -                   
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      103        3766       -                   
tcp6       0      0 :::22                   :::*                    LISTEN      0          7035       -                   
tcp6       0      0 ::1:25                  :::*                    LISTEN      0          11641      -                   
tcp6       0      0 ::1:2947                :::*                    LISTEN      0          6694       -                   
tcp6       0      0 :::5355                 :::*                    LISTEN      103        3769       -                   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           108        7361       -                   
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           103        3765       -                   
udp        0      0 0.0.0.0:59317           0.0.0.0:*                           108        7363       -                   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           103        3771       -                   
udp        0      0 127.0.0.1:323           0.0.0.0:*                           0          8364       -                   
udp6       0      0 fe80::ca7d:c3fa:310:546 :::*                                0          50566      -                   
udp6       0      0 :::5353                 :::*                                108        7362       -                   
udp6       0      0 :::5355                 :::*                                103        3768       -                   
udp6       0      0 :::34131                :::*                                108        7364       -                   
udp6       0      0 ::1:323                 :::*                                0          8365       - 

I noticed it was PID 1313 and decided to kill -15 1313 which resulted in it not appearing is netstate -tulpen. I was then able to start axolotl and it after starting it produced the pop-up of

Error communicating with Signal servers ...

Could this mean that the process gets stuck running in the background and cannot have more than one instance of the app running at the same time? If this occurs regularly a temporary fix would be to manually kill the process and start it again.

EDIT: This always happens when the phone reboots and killing the process does fix it