Ubuntu 23.04 Speicherzugriffsfehler

Servus,
es ist wieder soweit und eine neue Ubuntu Version ist erschienen: 23.04 :slight_smile: Leider läuft Pascom auf dieser nicht.

Wie es passiert:
Beim Start von Pascom gibt es einen Speicherzugriffsfehler.

Wie kann man das Problem reproduzieren?
Man nehme ein Ubuntu 23.04 und startet den Pascom-Client in der Version 96.R2736.

und was sagt die Konsole?

why@pc-ubuntu2304-why:~/Downloads/pascom_Client-96.R2736/pascom_Client$ ./AppRun
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
service.SettingsStore: Userdir is  "/home/why/.local/share/pascom Client"
Fontconfig warning: FcPattern object weight does not accept value [0 205)
[15770:15770:20230510,105350.171040:ERROR elf_image_reader.cc:122] no preferred header address
[15770:15770:20230510,105350.171117:ERROR process_reader_linux.cc:521] no module mappings 0x7fe77aeb7000
[15770:15770:20230510,105350.171367:ERROR process_memory_linux.cc:49] pread64: Input/output error (5)
[15770:15770:20230510,105350.171382:ERROR process_reader_linux.cc:521] no module mappings 0x7fe779f46000
[15770:15770:20230510,105350.171473:ERROR elf_image_reader.cc:122] no preferred header address
[15770:15770:20230510,105350.171481:ERROR process_reader_linux.cc:521] no module mappings 0x7fe77974c000
[15770:15770:20230510,105350.173315:ERROR elf_image_reader.cc:122] no preferred header address
[15770:15770:20230510,105350.173324:ERROR process_reader_linux.cc:521] no module mappings 0x7fe772dd0000
[15770:15770:20230510,105350.174518:ERROR process_memory_linux.cc:49] pread64: Input/output error (5)
[15770:15770:20230510,105350.177769:ERROR elf_dynamic_array_reader.h:64] tag not found
[15770:15771:20230510,105350.182458:ERROR directory_reader_posix.cc:42] opendir /home/why/.local/share/pascom Client/attachments/af4b14b0-ad58-42f3-b9d7-cee971c73534: No such file or directory (2)
Speicherzugriffsfehler (Speicherabzug geschrieben)

Gibt es Pläne für eine Aktualisierung oder bereits einen Workaround?

Mit freundlichen Grüßen
why

Hallo @why,

läuft denn die v98 Beta?

Grüße,
Jan

hallo @jlorenz danke für deine Antwort

Die version 98.R3073_755395f3a starten zumindest. Aber sie kann sich nicht mit unseren onside server verbinden.

Die Debug-Ausgabe lautet

[2023-05-10 14:19:38.332] [P26213] [T26213] [debug] [service.ConnectivityMonitor] retry timer elapsed
[2023-05-10 14:19:38.332] [P26213] [T26213] [info] [service.ConnectivityMonitor] ConnectivityMonitor::onNetworkChanged called by: QTimer(0x3eb6920)
[2023-05-10 14:19:38.332] [P26213] [T26213] [info] [service.ConnectivityMonitor] network available
[2023-05-10 14:19:38.332] [P26213] [T26311] [info] [service.ProxyService] query OS proxy settings, for: ProxyQuery(type: QNetworkProxyQuery::TcpSocket, protocol: "https", peerPort: -1, peerHostName: "pascom.{DOMAIN}", localPort: -1, url: QUrl("https://pascom.{DOMAIN}"))
[2023-05-10 14:19:38.332] [P26213] [T26213] [info] [account] New connection state: data::Account::ConnectionConnecting
[2023-05-10 14:19:38.333] [P26213] [T26213] [debug] [service.ConnectivityMonitor] start connecting timer
[2023-05-10 14:19:38.349] [P26213] [T26213] [info] [service.ConnectivityMonitor] checking connectivity, without application proxy
[2023-05-10 14:19:38.350] [P26213] [T26213] [info] [service.ConnectivityMonitor] ConnectivityMonitor::onConnectivityChecked called by: QObject(0x0)
[2023-05-10 14:19:38.350] [P26213] [T26213] [debug] [service.ConnectivityMonitor] try to login
[2023-05-10 14:19:38.350] [P26213] [T26213] [debug] [service.ConnectionTransportDiscovery] Discovering server protocol for: "{COMPANY}"@"pascom.{DOMAIN}", proxy:  false
[2023-05-10 14:19:38.350] [P26213] [T26213] [info] [service.ProxyService] received OS proxy settings, result: NoProxy """:0" ["Tunnel Listen UDP SctpTunnel SctpListen"]
[2023-05-10 14:19:38.351] [P26213] [T26213] [debug] [service.ConnectivityMonitor] connectivity check timer configured to: 19586 ms, currently 16 failed attempts
[2023-05-10 14:19:38.351] [P26213] [T26213] [debug] [service.ConnectivityMonitor] starting retry timer
[2023-05-10 14:19:38.357] [P26213] [T26213] [debug] [service.ConnectionTransportDiscovery] Discovering server protocol for: "{COMPANY}"@"pascom.{DOMAIN}", proxy:  true
[2023-05-10 14:19:38.359] [P26213] [T26213] [info] [service.ConnectionTransportDiscovery] could not connect with or without proxy, giving up
[2023-05-10 14:19:38.359] [P26213] [T26213] [debug] [account] connection attempt failed, increase failure counter from 16 to 17
[2023-05-10 14:19:38.359] [P26213] [T26213] [info] [account] New connection state: data::Account::ConnectionFailed
[2023-05-10 14:19:38.360] [P26213] [T26213] [debug] [service.ConnectivityMonitor] stop connecting timer
[2023-05-10 14:19:38.360] [P26213] [T26213] [debug] [service.ConnectivityMonitor] state is data::Account::ConnectionFailed and retry timer is active, reconfiguring
[2023-05-10 14:19:38.360] [P26213] [T26213] [debug] [service.ConnectivityMonitor] connectivity check timer configured to: 19406 ms, currently 17 failed attempts
[2023-05-10 14:19:38.360] [P26213] [T26213] [critical] [controller.ClientController] [Toast] Sie sind offline
[2023-05-10 14:19:38.363] [P26213] [T26213] [debug] [ui.PDFWatcherController] onDisconnected

Die Systeminformationen sind

Version: 98.R3073_755395f3a
Qt Version: 6.4.3
Build Timestamp: 20230510083532
Memory: 352.9Mb used, 23.4Gb available
OS: Ubuntu 23.04
Hostname: pc-ubuntu-{why}
Type: ubuntu 23.04 x86_64
Kernel: linux 6.2.0-20-generic
InstallationId: {#####}
Accessibility Support: disabled
FD Limits. soft: 1024, hard: 1024

GPU Info
    Name: 
    VendorId: 0x7ffcc935edf0
    DeviceId: 0x0100
    DriverVersion: 
    CurrentGlVersion: 4.2 (Compatibility Profile) Mesa 23.0.2
    CurrentGlRenderer: Mesa Intel(R) HD Graphics 4000 (IVB GT2)
    QtQuick Backend: auto

Environment Info
    debugMode:  
    DefaultDH is valid:  true
    DefaultDH error:  0
    DefaultDH errorString:  No error
    SSL version compiletime:  OpenSSL 1.1.1k  FIPS 25 Mar 2021
    SSL version runtime:  OpenSSL 1.1.1f  31 Mar 2020
    Proxy is used:  false

Außerdem hat der Fensterrahmen keinen Darkmode und ist hell, aber das ist rein kosmetisch :smiley:

Mit freundlichen Grüßen
why

Hallo @why,

Onsite Server werden in dieser Version nicht mehr unterstützt. Dafür gibt es eine eigenen eigenen Client.

Dieser unterstützt aber nur Ubuntu Versionen bis 22.04 LTS und wurde mit neueren Versionen nicht getestet.

Warum kein wechsel zur pascom.cloud?

Grüße,
Jan

moin @jlorenz

Die Version 93.R2621 gibt auf Ubuntu Versionen bis 23.04 leider auch kein Lebenszeichen von sich.

Console

why@pc-ubuntu-23:~/letsgo/pascom_Client-93.R2621_1634675/pascom_Client$ ./AppRun 
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
data.SqlJournal: created new JournalFilterModel: data::ui::JournalFilterModel(0x2b88210)
service.SettingsStore: Userdir is  "/home/why/.local/share/pascom Client"
service.IpcService: IPC Problem:  "QSharedMemory::handle:: UNIX key file doesn't exist"
why@pc-ubuntu-23:~/letsgo/pascom_Client-93.R2621_1634675/pascom_Client$ 

Die Entscheidung über die Infrastruktur liegt nicht in meiner Hand.

Mit freundlichen Grüßen
why

Hallo @why,

die letzte Meldung deutet eher darauf hin, das ein anderer pascom Client prozess mit dem selben userdir noch läuft.

Grüße,
Jan

Moin @jlorenz

Wups, das war mein Fehler, der nicht onside-fähige Client lief noch.

Es ist die gleiche Fehlermeldung wie im ersten Beitrag.

why@pc-ubuntu-23:~/letsgo/pascom_Client-93.R2621_1634675/pascom_Client$ sudo killall pascom_Client
why@pc-ubuntu-23:~/letsgo/pascom_Client-93.R2621_1634675/pascom_Client$ ./AppRun
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
data.SqlJournal: created new JournalFilterModel: data::ui::JournalFilterModel(0x22783f0)
service.SettingsStore: Userdir is  "/home/why/.local/share/pascom Client"
Fontconfig warning: FcPattern object width does not accept value [75 100)
[29982:29982:20230510,151323.507181:ERROR elf_image_reader.cc:122] no preferred header address
[29982:29982:20230510,151323.507256:ERROR process_reader_linux.cc:521] no module mappings 0x7fe9888b7000
[29982:29982:20230510,151323.507497:ERROR process_memory_linux.cc:49] pread64: Input/output error (5)
[29982:29982:20230510,151323.507512:ERROR process_reader_linux.cc:521] no module mappings 0x7fe987946000
[29982:29982:20230510,151323.507625:ERROR elf_image_reader.cc:122] no preferred header address
[29982:29982:20230510,151323.507634:ERROR process_reader_linux.cc:521] no module mappings 0x7fe98714c000
[29982:29982:20230510,151323.509365:ERROR elf_image_reader.cc:122] no preferred header address
[29982:29982:20230510,151323.509373:ERROR process_reader_linux.cc:521] no module mappings 0x7fe9807d0000
[29982:29982:20230510,151323.510525:ERROR process_memory_linux.cc:49] pread64: Input/output error (5)
[29982:29982:20230510,151323.513774:ERROR elf_dynamic_array_reader.h:64] tag not found
[29982:29983:20230510,151323.518667:ERROR directory_reader_posix.cc:42] opendir /home/why/.local/share/pascom Client/attachments/4ff9ed87-253f-4cdc-a586-0b0efdf51157: No such file or directory (2)
Speicherzugriffsfehler (Speicherabzug geschrieben)
why@pc-ubuntu-23:~/letsgo/pascom_Client-93.R2621_1634675/pascom_Client$ 

Da Pascom anscheinend kein großes Interesse daran hat, das Problem zu lösen, stelle ich hier mal meinen Workaround vor.

Ich habe ihn aus Dingen gebastelt, die sowieso gerade rumlagen, mit Docker wäre es wahrscheinlich viel schöner.

Für den Workaround braucht man vagrant, sshpass, und virtual box (andere funktionieren auch, einfach mal bei vagrant nachschauen).

Sind die Voraussetzungen geschaffen, erstellt man an einem beliebigen Ort einen Ortner.
In diesem Ordner müssen 3 Dateien angelegt werden.

1. eine Vagrant-Datei, die Vagrant sagt, was es tun soll, mit folgendem Inhalt:.

Vagrant.configure("2") do |config|
    config.vm.box = "fasmat/ubuntu2204-desktop"
    config.vm.network "private_network", ip: "192.168.56.4"
    config.vm.synced_folder "~/Bilder", "/home/vagrant/Bilder", create: true, group: "vagrant", owner: "vagrant"
    config.vm.synced_folder "~/Downloads", "/home/vagrant/Downloads", create: true, group: "vagrant", owner: "vagrant"

    config.vm.provider "virtualbox" do |v|
      v.gui = false
      v.name = "Pascom"
      v.memory = 1024
      v.cpus = 1
    end
    config.vm.provision "shell", path: "./setup.sh"
end

2. eine setup.sh, die die Maschine vorbereitet, mit folgendem Inhalt:.

mkdir /pascom;
curl -L https://my.pascom.net/update/client/stable/linux --output /pascom/pascom.tar.bz2
cd /pascom/
sudo tar -xf /pascom/pascom.tar.bz2 -C /pascom/
sudo sed -i 's/#   ForwardX11 no/    ForwardX11 no/g' /etc/ssh/ssh_config
sudo systemctl restart sshd

3. eine Datei mit einem beliebigen Namen, um sich das Leben leichter zu machen, ich habe sie letsgo.sh genannt:.

vagrant up;
sshpass -p 'vagrant' ssh -X vagrant@192.168.56.4 '/pascom/pascom_Client/AppRun' &> /dev/null &

Wenn alles eingerichtet ist, mit dem Terminal des Hosts in den eben erstellten Ordner und im Terminal letsgo.sh aufrufen.

./letsgo.sh

Nach einer kurzen Wartezeit öffnet sich pascom: … Das Terminal kann geschlossen werden.

Sicherstellen, dass letsgo.sh ausführbar ist.

Beim ersten Start kann es zu Fehlern kommen, einfach nochmal versuchen.

Wichtig: Firewall richtig einstellen, sonst können Kollegen in Ihrem Namen schreiben.

Update -WINE-

Die ursprüngliche Lösung funktioniert gut, ist aber sehr umständlich.
Deshalb hier ein einfacherer Weg mit WINE.

Für die Vorbereitung muss Wein installiert sein, falls nicht, ist dies sehr schnell und einfach möglich mit:

sudo apt install wine

Sobald WINE verfügbar ist, laden Sie den Windows Installer herunter und führen Sie ihn aus.

Um es schnell und einfach zu machen, hier die Befehle, die ich benutze:

mkdir ~/pascom-tmp;

curl -L https://my.pascom.net/update/client/stable/windows --output ~/pascom-tmp/pascom-client-setup.exe;

winecfg;

Im sich öffnenden Wine-Konfigurationsfenster stellen Sie bitte auf der Registerkarte Anwendungen die Windows-Version auf Windows 10 ein und bestätigen mit Anwenden.

wine ~/pascom-tmp/pascom-client-setup.exe;

Installation wie gewohnt mit weiter … weiter … fertig … ok beenden :wink:

Anschließend muss der Startmenü-Link wieder repariert werden, dazu muss die Datei “pascom Client.desktop” editiert werden.

nano ~/.local/share/applications/wine/Programs/pascom\ Client/pascom\ Client.desktop

Den Inhalt der Datei durch folgenden Text ersetzen. Bitte ersetzen Sie [REPLACE] durch Ihren Benutzernamen.

[Desktop Entry]
Name=pascom Client
Exec=sh -c "cd ~/.wine/dosdevices/c:/users/[REPLACE]/AppData/Local/pascom\ Client/; wine pascom\ Client.exe"
Icon=ADB1_pascom Client.0
Terminal=false
Type=Application
Categories=Wine;
StartupNotify=true

Am Ende nur noch aufräumen.

rm -r ~/pascom-tmp/

Note
Im Vergleich zur Vagrant Variante funktionieren die Schriftarten nicht out of the box und es werden nicht alle Emojis angezeigt.

Im Großen und Ganzen scheint Pascom mit Wein zu funktionieren.

1 Like

jlorenz
pascom staff
May 10
Hallo @why,

Onsite Server werden in dieser Version nicht mehr unterstützt. Dafür gibt es eine eigenen eigenen Client.

Dieser unterstützt aber nur Ubuntu Versionen bis 22.04 LTS und wurde mit neueren Versionen nicht getestet.

Warum kein wechsel zur pascom.cloud?

Grüße,
Jan

Stellungnahm zu den ausfallen

Wegen solcher Probleme und der daraus resultierenden Machtlosigkeit und finanziellen Schäden. Höchstwahrscheinlich :upside_down_face:.

Gibt die PBX den Geist auf oder fällt die Internet-Leitung aus, ist es das Gleiche, nur, dass ihr euch dann selbst darum kümmern und im worst den Server ersetzen müsst.

Ja, es kann zu Ausfällen in der Cloud kommen, aber bei manchen Sachen ist man einfach machtlos, auch on-premise, wie eben bei einem VM Bug, Windows Bug der die VM zerschießt, Ausfall von Netzwerkomponenten usw.

2 Likes

@hazington
Naja, wenn die Internetleitung ausfällt, hilft mir die Cloud auch nicht weiter :sweat_smile: aber wenigstens kann ich intern telefonieren. und wenn man nur einen Server hat, sollte man vielleicht mal über seine Infrastruktur nachdenken. Bei Bugs, die meist nach einem Update oder Konfigurationsänderungen auftreten, schafft ein Rollback und gute Backups schnell Abhilfe. bei den Netzwerkkomponenten, die ausfallen, hilft mir die Cloud auch nicht weiter.

die cloud hat zwar die Nase beider Sicherheit vorne, weil sie direkt beim provider sitzt und somit schneller reagiert werden kann. aber wenn man am ball bleibt ist der vorteil marginal.

doch, durch die Smartphone-Integration über LTE oder lokale Rechner mit LTE oder eine LTE-Backup-Leitung kann ich dann immer noch weiter telefonieren.

@noses

Dasselbe gilt für ein System vor Ort, nur dass ich weniger Daten über die langsamere Backup-Leitung übertragen muss, weil die internen Anrufe intern bleiben.