ILadis / ts3-qs4sd

TeamSpeak 3 quick access for Steam Deck.
GNU General Public License v2.0
41 stars 3 forks source link

Blank plugin screen after install #5

Closed Messh-debug closed 11 months ago

Messh-debug commented 1 year ago

I downloaded the plugin via the decky store. I already had ts3 installed with bookmarks. unfortunately ts3 quickaccess stayed empty.

I reinstalled ts3 and the plugin but no result. Is this user error?

ILadis commented 1 year ago

I just reinstalled the plugin from the store and got the same issue. It seems like my plugin wasn't built correctly/completely when it was sent to the official store.

~Only way to install the plugin now is to download the ZIP from the latest release here.~

I'm talking to the DeckyLoader developers to get the issue resolved.

Edit:
There is an updated version on the store (v1.1.1) which has the issue fixed. Please give this version a try and report back.

Thank's for reporting the issue.

CreedMercer commented 1 year ago

I have the same issue. Updating to v.1.1.1 didn't solved it. The quickaccess is still empty.

ILadis commented 1 year ago

To further investigate the issue, please provide the following info:

Open a terminal on your Steam Deck and list the contents of the plugin directory (post the output of):

$ tree /home/deck/homebrew/plugins/ts3-qs4sd

Please also post the log output for the plugin, the logfile should be stored at:
/home/deck/homebrew/logs/ts3-qs4sd/log.txt

The directory paths might be different.

Messh-debug commented 1 year ago

list: /home/deck/homebrew/plugins/ts3-qs4sd

.
├── bin
│   └── ts3-qs4sd.so
├── dist
│   └── index.js
├── LICENSE
├── main.py
├── package.json
├── plugin.json
└── README.md

and log:

/home/deck/homebrew/logs/ts3-qs4sd/log.txt ```txt [2023-07-30 10:55:45,607][ERROR]: Unclosed client session client_session: [2023-07-30 10:55:48,724][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 10:55:59,933][INFO]: Calling Loader unload function. [2023-07-30 10:55:59,934][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-07-30 10:56:00,004][INFO]: Unloaded TS3 QuickAccess [2023-07-30 10:56:00,945][INFO]: Calling Loader unload function. [2023-07-30 10:56:00,946][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-07-30 10:56:00,982][INFO]: Unloaded TS3 QuickAccess [2023-07-30 10:56:17,938][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 10:56:24,785][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 10:57:18,942][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 10:57:31,433][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 10:58:10,642][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:02:34,027][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:02:48,810][INFO]: Calling Loader unload function. [2023-07-30 11:02:48,810][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-07-30 11:02:48,884][INFO]: Unloaded TS3 QuickAccess [2023-07-30 11:02:57,050][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:04:42,641][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:06:55,750][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:09:37,092][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:10:07,596][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:11:11,587][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:43:41,666][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:43:55,217][INFO]: Calling Loader unload function. [2023-07-30 11:43:55,217][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-07-30 11:43:55,277][INFO]: Unloaded TS3 QuickAccess [2023-07-30 11:43:56,229][INFO]: Calling Loader unload function. [2023-07-30 11:43:56,229][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-07-30 11:43:56,261][INFO]: Unloaded TS3 QuickAccess [2023-07-30 11:43:59,559][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:44:08,473][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:48:24,701][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:49:02,078][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 11:49:18,345][INFO]: Calling Loader unload function. [2023-07-30 11:49:18,345][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-07-30 11:49:18,402][INFO]: Unloaded TS3 QuickAccess [2023-07-30 11:49:45,694][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 12:00:13,887][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 12:00:21,990][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-07-30 12:01:05,417][ERROR]: Could not install TeamSpeak 3 client plugin, maybe TeamSpeak 3 is already running [2023-08-01 22:12:27,463][INFO]: Calling Loader unload function. [2023-08-01 22:12:27,466][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-08-01 22:12:27,551][INFO]: Unloaded TS3 QuickAccess [2023-08-01 22:12:28,469][INFO]: Calling Loader unload function. [2023-08-01 22:12:28,470][INFO]: Attempting to unload with plugin TS3 QuickAccess's "_unload" function. [2023-08-01 22:12:28,505][INFO]: Unloaded TS3 QuickAccess ```
ILadis commented 1 year ago

Seems like the ts3-qs4sd.so file could not be copied to the TeamSpeak plugin directory. Can you please post the output of this command to verify this:

$ ls -al /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins

I don't see why copying the ts3-qs4sd.so could fail. You can try restarting your Deck. If this doesn't work try to manually copy the file over:

$ cp /home/deck/homebrew/plugins/ts3-qs4sd/bin/ts3-qs4sd.so /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins
Messh-debug commented 1 year ago

output:

total 1376
drwxr-xr-x 3 deck deck    4096 Aug  1 22:12 .
drwxr-xr-x 9 deck deck    4096 Aug  1 22:12 ..
drwxr-xr-x 2 deck deck    4096 Jul 30 11:08 clientquery_plugin
-rw-r--r-- 1 deck deck 1155616 Jul 30 11:08 libclientquery_plugin_linux_amd64.so
-r-xr-xr-x 1 deck deck  236512 Aug  1 22:12 ts3-qs4sd.so

seems to be there edit: restarted deck, no result tried to copy aswell but i have no permission. editedit: copied with sudo. Still nothing

ILadis commented 1 year ago

Please verify if TeamSpeak can load the plugin correctly. Switch to Desktop mode and launch TeamSpeak, then navigate to Tools > Options > Addons. You can post a screenshot if you're unsure what to look for.

Also make sure you are using the latest available TeamSpeak version (check the Discover store for updates).

pwn-d commented 1 year ago

Same issue. According to Discover Store everything is up to date. Teamspeak3 has following plugins loaded and enabled: ClientQuery v1.5 Quick Access for Steamdeck v1.1.1

ILadis commented 1 year ago

Hm, there might be another application listening on port 8000. To check this please again switch to Desktop mode, launch TeamSpeak and post the output of the "Client Log" window (Tools > Client Log).

Then open a terminal and also post the output of:

$ curl -v http://localhost:8000/api/server
pwn-d commented 1 year ago

seems to be working

(deck@steamdeck ~)$ curl -v http://localhost:8000/api/server
*   Trying 127.0.0.1:8000...
* Connected to localhost (127.0.0.1) port 8000 (#0)
> GET /api/server HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.85.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Transfer-Encoding: chunked
< Content-Type: application/json
< Access-Control-Allow-Origin: https://steamloopback.host
< 
* Connection #0 to host localhost left intact
{"name":"","status":0,"bookmarks":[{"name":"TeamSpeak Public","uuid":"9e167df2-a88d-34b1-b7af-c1db35732a7c"}, {"name":"##name##","uuid":"####"}]}
Messh-debug commented 1 year ago

image

with log:

  Trying 127.0.0.1:8000...
* Connected to localhost (127.0.0.1) port 8000 (#0)
> GET /api/server HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.85.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Transfer-Encoding: chunked
< Content-Type: application/json
< Access-Control-Allow-Origin: https://steamloopback.host
< 
* Connection #0 to host localhost left intact
{"name":"","status":0,"bookmarks":[{"name":"kaiser","uuid":"c94a628a-673b-86e7-217c-f13f7328f6ee"}]}(deck@steamdeck ~)$ 

so i did have a application running on my network on port 8000 but i closed it before running the command i also restarted the deck, no result

Messh-debug commented 1 year ago

Update: if i start ts in gaming mode and don’t do anything dont connect just back out to home. And go to quickaccess i see my bookmarks and it connects. But thats the only time i see the bookmarks.

pwn-d commented 1 year ago

20230802164248_1

I had added TS to the deck interface, where I can open it with no problems, but opening the Quick Access crashes it.

ILadis commented 1 year ago

Note that you don't need to add TeamSpeak as a non Steam game and launch it via Gaming mode anymore. The TeamSpeak client is now automatically started once you click on the "TS3 Quick Access" menu entry in Decky.

Everything seems fine so far. There might be some hints in the TeamSpeak log file. To grab this file first reproduce the issue: Restart your Deck, open the quick access menu, navigate to Decky and click on "TS3 QuickAccess". Then switch to Desktop mode and grab the most recent log file from this directory:

/home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/

Make sure to grab the latest one. The file names contain the date and time when they were created.

pwn-d commented 1 year ago

yeah I guessed that I don't need to manually start the ts3-client, your code seems like its launching it, just wanted to debug by myself ^^ those are the logs I could in one launching and crashing session.

(1)(deck@steamdeck ~)$ cat /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/ts3client_2023-08-02__18_14_43.848892.log 

==================================================================================================================================

2023-08-02 16:14:43.849027|INFO    |              |   |TeamSpeak Client 3.6.1 (2023-07-24 10:06:33)
2023-08-02 16:14:43.849085|INFO    |              |   |SystemInformation: Linux 5.13.0-valve36-1-neptune #1 SMP PREEMPT Mon, 19 Dec 2022 23:39:41 +0000 x86_64 Binary: 64bit
2023-08-02 16:14:43.858451|DEBUG   |PulseAudio    |   |connected to pulse audio server - 
2023-08-02 16:14:43.864007|DEBUG   |SoundDevManager|   |Loading dynamic soundbackend from /app/extra/soundbackends/libalsa_linux_amd64.so
2023-08-02 16:14:43.866191|DEBUG   |SoundDevManager|   |Soundbackend loaded.
2023-08-02 16:14:43.872334|INFO    |ClientUI      |   |OpenGL Info: LibGL, Vendor: AMD, Renderer: AMD Custom GPU 0405 (vangogh, LLVM 15.0.7, DRM 3.45, 5.13.0-valve36-1-neptune), Version: 4.6 (Compatibility Profile) Mesa 23.1.1 (git-fa55e3c026)
2023-08-02 16:14:43.908414|INFO    |Addons        |   |Checking for addon updates...
2023-08-02 16:14:43.935811|INFO    |Plugins       |   |Loading plugin: ts3-qs4sd.so
2023-08-02 16:14:43.936406|INFO    |ts3-qs4sd     |   |Starting server (API) on: 0.0.0.0:8000
2023-08-02 16:14:43.936920|INFO    |Plugins       |   |Loading plugin: libclientquery_plugin_linux_amd64.so
2023-08-02 16:14:43.936878|INFO    |ts3-qs4sd     |   |Server (API) thread started
2023-08-02 16:14:43.938193|ERROR   |ts3-qs4sd     |   |Could not open Steam Deck input device
2023-08-02 16:14:43.939312|INFO    |Query         |   |listening on 127.0.0.1:25639
2023-08-02 16:14:44.079633|INFO    |              |   |*** Time [MAINWINDOW]: 228
2023-08-02 16:14:44.079721|INFO    |              |   |*** Time [INIT]: 229
2023-08-02 16:14:44.082293|INFO    |ClientUI      |   |Failed to init text to speech engine
2023-08-02 16:14:44.082395|INFO    |ClientUI      |   |Qt version: 5.15.8
2023-08-02 16:14:44.082415|INFO    |ClientUI      |   |Using configuration location: /home/deck/.ts3client/settings.db
2023-08-02 16:14:44.095502|INFO    |Addon         |   |Addon up to date.
2023-08-02 16:14:44.580566|INFO    |Bookmarks     |   |Collecting autoconnect bookmarks
2023-08-02 16:14:44.580965|INFO    |ClientUI      |   |Last update check was: Wed Aug 2 12:40:22 2023
2023-08-02 16:14:44.581247|INFO    |              |   |Statistics report: Not yet, next report on Tue Aug 29 13:10:01 2023
2023-08-02 16:14:45.091528|INFO    |Newsticker    |   |Newsticker next check: Thu Aug 3 14:41:41 2023 GMT
2023-08-02 16:14:52.024492|DEBUG   |ts3-qs4sd     |   |Request to GET /api/events

(deck@steamdeck ~)$ cat /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/ts3client_2023-08-02__18_14_
ts3client_2023-08-02__18_14_43.848892.log  ts3client_2023-08-02__18_14_52.411946.log  
(deck@steamdeck ~)$ cat /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/ts3client_2023-08-02__18_14_52.411946.log 

==================================================================================================================================

2023-08-02 16:14:52.412126|INFO    |              |   |TeamSpeak Client 3.6.1 (2023-07-24 10:06:33)
2023-08-02 16:14:52.412222|INFO    |              |   |SystemInformation: Linux 5.13.0-valve36-1-neptune #1 SMP PREEMPT Mon, 19 Dec 2022 23:39:41 +0000 x86_64 Binary: 64bit
pwn-d commented 1 year ago

just starting the ts3 quickaccess produces only the following

(1)(deck@steamdeck ~)$ cat /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/ts3client_2023-08-02__18_24_08.390850.log 

==================================================================================================================================

2023-08-02 16:24:08.391068|INFO    |              |   |TeamSpeak Client 3.6.1 (2023-07-24 10:06:33)
2023-08-02 16:24:08.391193|INFO    |              |   |SystemInformation: Linux 5.13.0-valve36-1-neptune #1 SMP PREEMPT Mon, 19 Dec 2022 23:39:41 +0000 x86_64 Binary: 64bit
pwn-d commented 1 year ago

I'll take a look at the crashdumps and could drop them here later

ILadis commented 1 year ago

Sure, every bit of information may help.

The TeamSpeak logs you've posted don't show any issues. But it's quite weird, that one of your log files is almost empty.

What should be more useful, but also requires a lot more effort to get to, are the CEF debug logs.

To get these you first have to turn on "Allow Remote CEF Debugging" in Decky settings. Then on a separate computer open Chrome (or any Chromium based browser) and go to chrome://inspect. After a short time this should show a device with the IP address of your Steam Deck (if not you can add it manually by clicking on the "Configure" button, then enter the IP address of your Deck and port 8081).

Once it shows up there should be a tab named SharedJSContext, click on "inspect". Another window should open. In this window select the "Console" tab.

Now back on your Deck reproduce the issue and post the output of the "Console" tab.

This whole process is quite tedious, but I am out of ideas.

pwn-d commented 1 year ago

grafik

well I might have fallen into the rabid hole....brb hunting the shark made of wire

ILadis commented 1 year ago

Well that's the culprit right there. I can't explain why these connection attempts fail, since you have already verified via cURL that the TeamSpeak client plugin is loaded correctly and responding to requests.

Thanks for going through the hassle to get to this information though.

If you want to try something else, I've prepared a new version of the plugin. In this version I've changed the API port from 8000 (which is quite common and therefore may be occupied by another application) to 52259. And I've also fixed the TeamSpeak logging output. Now all messages from the Chrome console log window should also appear in the TeamSpeak log file (the one located at /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/). That should make it way easier to grab those messages.

You can download the new plugin version here. Just uninstall the current "TS3 Quick Access" plugin, copy the ZIP file over to your Deck and use the "Install Plugin from ZIP File" option in Decky settings.

To be extra safe, please also verify in Desktop mode that TeamSpeak now shows plugin version 1.1.2 (after starting the Decky plugin once).

pwn-d commented 1 year ago

You won't going to like this I think. Updated decky plugin. Updated ts3 plugin. Same symptons.

Same log in /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/logs/

(deck@steamdeck logs)$ cat ts3client_2023-08-03__12_35_18.746161.log

==================================================================================================================================

2023-08-03 10:35:18.746333|INFO    |              |   |TeamSpeak Client 3.6.1 (2023-07-24 10:06:33)
2023-08-03 10:35:18.746419|INFO    |              |   |SystemInformation: Linux 5.13.0-valve36-1-neptune #1 SMP PREEMPT Mon, 19 Dec 2022 23:39:41 +0000 x86_64 Binary: 64bit
ILadis commented 1 year ago

I've no idea why your logfile is almost empty. It looks like only INFO logs are shown. But I dont't know of any setting in TeamSpeak that could be changed to make DEBUG logs appear.

This is what mine looks like (shrunken down):

$ cat ts3client_2023-08-03__13_46_54.741841.log

================================================================================================================================= 

2023-08-03 11:46:54.742138|INFO    |              |   |TeamSpeak Client 3.6.1 (2023-07-24 10:06:33)                                 
2023-08-03 11:46:54.742246|INFO    |              |   |SystemInformation: Linux 5.13.0-valve36-1-neptune #1 SMP PREEMPT Mon, 19 Dec 2022 23:39:41 +0000 x86_64 Binary: 64bit
2023-08-03 11:46:54.766646|DEBUG   |PulseAudio    |   |connected to pulse audio server -                                            
2023-08-03 11:46:54.771195|DEBUG   |SoundDevManager|   |Loading dynamic soundbackend from /app/extra/soundbackends/libalsa_linux_amd64.so                                                             
2023-08-03 11:46:54.778920|DEBUG   |SoundDevManager|   |Soundbackend loaded.                                                        
2023-08-03 11:46:54.786573|INFO    |ClientUI      |   |OpenGL Info: LibGL, Vendor: AMD, Renderer: AMD Custom GPU 0405 (vangogh, LLVM 15.0.7, DRM 3.45, 5.13.0-valve36-1-neptune), Version: 4.6 (Compatibility Profile) Mesa 23.1.1 (git-fa55e3c026)                     
2023-08-03 11:46:54.840479|INFO    |Addons        |   |Checking for addon updates...                                                
2023-08-03 11:46:54.891483|INFO    |Plugins       |   |Loading plugin: libclientquery_plugin_linux_amd64.so                         
2023-08-03 11:46:54.902850|INFO    |Query         |   |listening on 127.0.0.1:25639                                                 
2023-08-03 11:46:54.903018|INFO    |Plugins       |   |Loading plugin: ts3-qs4sd.so                                                 
2023-08-03 11:46:54.903651|INFO    |ts3-qs4sd     |   |Starting server (API) on: 0.0.0.0:52259                                      
2023-08-03 11:46:54.903927|INFO    |ts3-qs4sd     |   |Server (API) thread started                                                  
2023-08-03 11:46:54.904088|DEBUG   |ts3-qs4sd     |   |Attempting to fetch debugger url for tab 'SharedJSContext' on: http://localhost:8080                                                           
2023-08-03 11:46:54.905145|DEBUG   |ts3-qs4sd     |   |Connecting to debugger url: ws://localhost:8080/devtools/page/C02A08A1275C88B442E964F440943DE3                                                 
2023-08-03 11:46:54.909002|DEBUG   |ts3-qs4sd     |   |DevTools (Log.entryAdded): {"entry":{"source":"network","level":"error","text":"Failed to load resource: the server responded with a status of 404 (Not Found)","timestamp":1.691063201593411e+12,"url":"https://steamloopback.host/uioverrides/movies/deck_startup.webm","networkRequestId":"1873.27"}}                                             
2023-08-03 11:46:54.909180|DEBUG   |ts3-qs4sd     |   |DevTools (Log.entryAdded): {"entry":{"source":"network","level":"error","text":"Failed to load resource: net::ERR_CONNECTION_REFUSED","timestamp":1.691063213483653e+12,"url":"http://localhost:52259/api/events","networkRequestId":"1873.324"}}

...

2023-08-03 11:46:55.002539|DEBUG   |ts3-qs4sd     |   |Request to GET /api/events                                                   
2023-08-03 11:46:55.119022|INFO    |              |   |*** Time [MAINWINDOW]: 322                                                   
2023-08-03 11:46:55.119150|INFO    |              |   |*** Time [INIT]: 322                                                         
2023-08-03 11:46:55.123291|INFO    |ClientUI      |   |Failed to init text to speech engine                                         
2023-08-03 11:46:55.123428|INFO    |ClientUI      |   |Qt version: 5.15.8                                                           
2023-08-03 11:46:55.123456|INFO    |ClientUI      |   |Using configuration location: /home/deck/.ts3client/settings.db              
2023-08-03 11:46:55.183995|DEBUG   |ts3-qs4sd     |   |Request to GET /api/server                                                   
2023-08-03 11:46:55.188242|INFO    |Addon         |   |Addon up to date.                                                            
2023-08-03 11:46:55.190379|DEBUG   |ts3-qs4sd     |   |Request to GET /api/server                                                   
2023-08-03 11:46:55.619871|INFO    |Bookmarks     |   |Collecting autoconnect bookmarks                                             
2023-08-03 11:46:55.620384|INFO    |ClientUI      |   |Last update check was: Thu Aug 3 00:21:58 2023                               
2023-08-03 11:46:55.621168|INFO    |              |   |Statistics report: User previously denied participation                      
2023-08-03 11:46:55.992785|DEBUG   |ts3-qs4sd     |   |Request to POST /api/server/connect                                          
2023-08-03 11:46:55.993551|INFO    |ClientUI      |1  |Connect to server: ####                                               

...

2023-08-03 11:46:57.334152|INFO    |ClientUI      |1  |Connect status: Connecting                                                   
2023-08-03 11:46:57.336313|INFO    |Newsticker    |   |Newsticker next check: Thu Aug 3 22:22:02 2023 GMT                           
2023-08-03 11:46:57.355025|INFO    |PktHandler    |1  |server sent ciphers:1                                                        
2023-08-03 11:46:57.388870|INFO    |PktHandler    |1  |Selected cipher:0                                                            
2023-08-03 11:46:57.389093|DEVELOP |PktHandler    |1  |Puzzle solve time: 10                                                        
2023-08-03 11:46:57.485183|INFO    |ClientUI      |1  |Connect status: Connected                                                    
2023-08-03 11:46:57.510001|INFO    |ClientUI      |1  |Connect status: Establishing connection                                      
2023-08-03 11:46:57.536160|INFO    |ClientUI      |1  |Connect status: Connection established                                       
2023-08-03 11:46:57.667959|DEBUG   |ts3-qs4sd     |   |Request to GET /api/server                                                   
2023-08-03 11:46:57.691582|DEBUG   |ts3-qs4sd     |   |Request to GET /api/server                                                   
2023-08-03 11:46:57.702361|DEBUG   |ts3-qs4sd     |   |Request to GET /api/server                                                   
2023-08-03 11:46:57.705224|DEBUG   |ts3-qs4sd     |   |Request to GET /api/self                                                     
2023-08-03 11:46:57.708569|DEBUG   |ts3-qs4sd     |   |Request to GET /api/self                                                     
2023-08-03 11:46:57.714319|DEBUG   |ts3-qs4sd     |   |Request to GET /api/clients                                                  
2023-08-03 11:46:57.717607|DEBUG   |ts3-qs4sd     |   |Request to GET /api/clients                                                  
2023-08-03 11:46:57.728084|DEBUG   |ts3-qs4sd     |   |Request to GET /api/clients/801/avatar                                       
2023-08-03 11:46:57.810939|DEBUG   |ts3-qs4sd     |   |Request to GET /api/server                                                   
2023-08-03 11:46:57.819002|DEBUG   |ts3-qs4sd     |   |Request to GET /api/self                                                     
2023-08-03 11:46:57.825020|DEBUG   |ts3-qs4sd     |   |Request to GET /api/clients                                                  
2023-08-03 11:46:59.406922|DEBUG   |ts3-qs4sd     |   |Request to POST /api/server/disconnect                                       
2023-08-03 11:46:59.436971|INFO    |ClientUI      |1  |Connect status: Disconnected                                                 
2023-08-03 11:46:59.438498|INFO    |ClientUI      |1  |Disconnected or forced to leave, want autoreconnect = 0
Messh-debug commented 1 year ago

Installed 1.1.2 , no result. Unfortunately I can’t get you the logs at the moment. Is there anything else i can do?

ILadis commented 1 year ago

I think we should look into the crashdumps of TeamSpeak next. The logs @pwn-d posted here indicate that at least one request from the plugin reached TeamSpeak. I assume that TeamSpeak crashes as soon as the first request is received.

So please again reproduce the issue and provide the following log files:

You can upload/post more than just one and I'll look through all of them to hopefully find anything interesting.

Edit:
So I've been playing around a bit with TeamSpeak crashdumps. In order to get any useful information out of them it's required to use a version of the plugin with debug symbols enabled. I've prepared a new version of the plugin (v1.1.2-dbg) that has debug symbols enabled. Please install this before collecting the crash reports. You can download the new version here.

You should also probably clean up the logs/ and crashdumps/ directory first to make sure you get the correct files.

pwn-d commented 1 year ago

done that, still not much information in the logs

==================================================================================================================================

2023-08-05 18:56:19.607979|INFO    |              |   |TeamSpeak Client 3.6.1 (2023-07-24 10:06:33)
2023-08-05 18:56:19.608076|INFO    |              |   |SystemInformation: Linux 5.13.0-valve36-1-neptune #1 SMP PREEMPT Mon, 19 Dec 2022 23:39:41 +0000 x86_64 Binary: 64bit

ts3dump_1691261779911.zip

ILadis commented 1 year ago

I can't unzip your crashdump attachment:

$ unzip ts3dump_1691261779911.zip
Archive:  ts3dump_1691261779911.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.
pwn-d commented 1 year ago

That's what I got. Looked inside it with 7zip and it contains the log and a dmp file

ILadis commented 1 year ago

Using 7z I am able to at least extact something but the included b1afc2cb-d3aa-4651-dbdacc8e-8d09c7d0.dmp is empty. Might be due to the error that appeared during unzipping:

$ 7z t ts3dump_1691261779911.zip
Scanning the drive for archives:
1 file, 357 bytes (1 KiB)

Testing archive: ts3dump_1691261779911.zip

ERRORS:
Unexpected end of archive

WARNINGS:
There are data after the end of archive

Could you please upload the crashdump as is or use plain old ZIP?

pwn-d commented 1 year ago

The .zip I uploaded is from /crashdumps and how it was created by ts3 I haven't packed or modified anything...

ILadis commented 1 year ago

Ah, I see.

I don't know why but for whatever reason the crash dumps are not zipped when running TeamSpeak on my development machine.

But on my Deck I get the same behavior:

I'm looking for a way to get a usable crash dump from the Deck. If you are able to extract the archive please post the .dmp file thats in it.

ILadis commented 1 year ago

I think I found a way to inspect the crash dump of TeamSpeak (if there actually is one).

Before you begin install this version of the plugin that has debug symbols enabled. Make sure it displays version v1.1.2-dbg in the TeamSpeak Addons view.

Reproduce the issue in Gaming mode and then switch back to Desktop mode.
Open a terminal and run:

$ coredumpctl list
TIME                           PID  UID  GID SIG     COREFILE EXE                                                               SIZE
...
Wed 2023-08-09 00:34:47 CEST  5180 1000 1000 ???     present  /app/extra/ts3client_linux_amd64                                  6.5M

If this shows an entry for ts3client_linux_amd64 proceed with:

$ flatpak install runtime/org.freedesktop.Sdk/x86_64/22.08

This will install debug utilities to inspect the coredump. You can uninstall them at the end.
Once installed run:

$ flatpak-coredumpctl com.teamspeak.TeamSpeak

When you see this line appear, press enter to get to the gdb prompt:

--Type <RET> for more, q to quit, c to continue without paging--
Core was generated by `./ts3client_linux_amd64'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f95f04c084f in ?? ()
[Current thread is 1 (Thread 0x7f95cb7fe640 (LWP 38))]
(gdb)

Then load the missing debug symbols from the ts3-qs4sd.so file like so:

(gdb) set solib-search-path /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins/

Finally print the stack trace by entering where:

(gdb) where
#0  sdinput_onUpdate (input=<optimized out>) at src/callbacks.c:207
#1  0x00007f95f04c1f28 in SDInput_pollState (input=input@entry=0x7f95f04ee060 <input>) at src/sdinput.c:132
#2  0x00007f95f04c242f in SDInput_task () at src/tasks.c:35
#3  0x00007f95f04c1004 in Executor_runner (context=0x7f95f04ec950 <input>) at src/executor.c:9
#4  0x00007f961b3d825a in start_thread () from /usr/lib/x86_64-linux-gnu/libc.so.6
#5  0x00007f961b460fc4 in clone () from /usr/lib/x86_64-linux-gnu/libc.so.6

Please post the full output of the where command. It should look different from mine, since I intentionally implemented a crash on my version of the plugin to test all of this.

Banyyk commented 1 year ago

i not familiar with github and just saw this. got the same issue, that the plugin is blank as described here.

https://github.com/ILadis/ts3-qs4sd/issues/1#issuecomment-1670763774

i tried the steps that were discribed here and got the same results.

ILadis commented 1 year ago

It would be helpful if you provide some log files to further investigate your issue. Before getting any log files please install the latest debug version of the plugin from here. Verify that it displays as version v1.1.2-dbg (both in TeamSpeak and Decky settings).

It's also helpful to clean up any previous logs.
Switch to Desktop mode and remove all files in:

Then in Gaming mode reproduce the issue (start the plugin and observe a blank screen).

Now switch back to gaming mode and upload the log files here (from the directories mentioned above).

To gather further information please follow my instructions from this comment.

Banyyk commented 1 year ago

thank you! ill try it and will comment again.

Banyyk commented 1 year ago
  • /home/deck/homebrew/logs/ts3-qs4sd/

I resetet the Steam Deck and Installed everything from scratch. I started teamspeak once before i installed your loader and then switched to gamemode. i switched back to desktop mode to see if teamspeak was closed (it was, my client timed out, could see on other pc) then i got back into gamemode and installed the latest version of your plugin.

the plugin.log says "Could not install plugin, maybe Teamspeak 3 is already running?"

if i open Teamspeak on Desktop Mode the Plugin is installed under Addons. Unistall is greyed out. Dont know if thats normal.

The fresh Teamspeaklog:

https://pastebin.com/txkLp0hM

Edit: My Crashdumps look exactly like this ones: https://github.com/ILadis/ts3-qs4sd/issues/5#issuecomment-1662538058

Edit2:

I added Ts3 to the Steam Libary and started it. I did NOT connect to any server and opened the quickacces . Teamspeak crashed. I tried again, connected to a server and opened the quickacces and it worked directly like it should. I can disconnect, connect servers, clients showing etc.

after i restarted teamspeak (in gamemode) it did not crash again BUT i still cant start it via the quickacces . its still empty if teamspeak is closed.

ILadis commented 1 year ago

Unfortunately this doesn't provide any new information to help me identify the issue.
To gather further information please follow my instructions from this comment.

Banyyk commented 1 year ago

Unfortunately this doesn't provide any new information to help me identify the issue. To gather further information please follow my instructions from this comment.

i would love to but i would have to reset everything again since i cant uninstall the plugin from teamspeak. even if i uninstall teamspeak, the plugin is still there after reinstall.

ILadis commented 1 year ago

You can easily uninstall the plugin through Desktop mode. Just open a terminal and:

sudo rm -rf /home/deck/homebrew/plugins/ts3-qs4sd
sudo rm /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins/ts3-qs4sd.so

While you are there you can also extract the new plugin.zip with:

unzip /home/deck/Downloads/plugin.zip -d /home/deck/homebrew/plugins/

And copy the ts3-qs4sd.so client plugin for TeamSpeak manually into the plugins directory:

cp /home/deck/homebrew/plugins/ts3-qs4sd/bin/ts3-qs4sd.so /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins

Adjust the download path when necessary.

marvinlehmann commented 1 year ago

After hours of troubleshooting I had some success by setting env['XDG_RUNTIME_DIR'] = '/run/user/1000' at https://github.com/ILadis/ts3-qs4sd/blob/4792d0e99d9fc00589197f5ad8f2044c592d47bf/main.py#L44-L48

It was still kinda unstable though.

Banyyk commented 1 year ago

After hours of troubleshooting I had some success by setting env['XDG_RUNTIME_DIR'] = '/run/user/1000' at

https://github.com/ILadis/ts3-qs4sd/blob/4792d0e99d9fc00589197f5ad8f2044c592d47bf/main.py#L44-L48

It was still kinda unstable though.

where do i exactly put the line? i would test it aswell.

marvinlehmann commented 1 year ago

@Banyyk On line 46 in /home/deck/homebrew/plugins/ts3-qs4sd/main.py Or in the zip before installing the plugin.

agcreations commented 1 year ago

Hey i just stumbled over this. I have the same problem as stated. The plugin stays blank and is not showing my bookmarks. Im using the 1.1.1 Version. I also checked the "main.py" file and it already contains the line: subprocess.Popen(['flatpak', 'run', 'com.teamspeak.TeamSpeak'], env=env)

Sorry, I'm totally new to GitHub. Is there already a fix?

ILadis commented 1 year ago

To my knowledge there is no fix. I'm still waiting for someone to provide information about the crash which I suspect is happening. If you would like to help please follow the instructions from this comment.

If you want to try the potential fix from @marvinlehmann klick here.
You are supposed to edit the main.py file and insert ```py env['XDG_RUNTIME_DIR'] = '/run/user/1000' ``` right after line 45. It should look like this: ```py env = dict(os.environ) env['DISPLAY'] = ':0' env['XDG_RUNTIME_DIR'] = '/run/user/1000' try: subprocess.Popen(['flatpak', 'run', 'com.teamspeak.TeamSpeak'], env=env) ``` All of this has to be done in Desktop mode. The file should be here: /home/deck/homebrew/plugins/ts3-qs4sd. When done, restart your Deck to make sure the changes are applied. If you give this a try, please report back if this actually fixes the issue.
DSKB823 commented 11 months ago

Hey this was a great and easy to follow guide. I have the same issue with a blank tab, followed that guide to the best of my, admittedly limited abilities and got this from where

(gdb) where
#0  0x000055b0ba6d6958 in ?? ()
#1  0x000055b0ba6d65a3 in ?? ()
#2  0x000055b0ba8590cb in ?? ()
#3  0x00007f0f1843055c in pa_context_set_state () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f0f18432cfd in context_autospawn () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f0f18433895 in try_next_connection () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f0f18433f08 in pa_context_connect () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#7  0x000055b0ba858e64 in ?? ()
#8  0x000055b0ba85ba0b in ?? ()
#9  0x000055b0ba6d666a in ?? ()
#10 0x000055b0ba6d6b31 in ?? ()
#11 0x000055b0ba6d05e0 in ?? ()
#12 0x000055b0ba6c60a5 in ?? ()
#13 0x000055b0ba6c5d7b in ?? ()
#14 0x000055b0ba68ce02 in ?? ()
#15 0x000055b0ba68cceb in ?? ()
#16 0x000055b0ba3cd070 in ?? ()
#17 0x000055b0ba3296a9 in ?? ()
#18 0x000055b0b9df7372 in ?? ()
#19 0x000055b0b9df5df8 in ?? ()
#20 0x000055b0b9e6ef8c in ?? ()
#21 0x000055b0ba2dbf28 in ?? ()
#22 0x000055b0ba2d9069 in ?? ()
#23 0x00007f0f31a8b58a in __libc_start_call_main () from /usr/lib/x86_64-linux-gnu/libc.so.6
#24 0x00007f0f31a8b64b in __libc_start_main () from /usr/lib/x86_64-linux-gnu/libc.so.6
#25 0x000055b0b9ca502e in ?? ()
(gdb)

I still have the debug version and tools installed in case you need any more info. also got my entire Konsole session from the start of your guide copy pasted to text in case you wanna check if I made a mistake or there are other relevant errors. hope this helps

SteamTab log.txt

Edit: in case that's relevant: I've got quite a few plugins installed, including, Audio loader, Volume Mixer and probably a few others that aren't exclusively doing Audio Stuff but might interfere, I don't know. It's definitely not a clean install or an ideal setting to isolate issues.

ILadis commented 11 months ago

Thanks for following the guide to get to the stacktrace. Unfortunately it seems like the debugging symbols weren't loaded correctly. That's the reason why all these ?? show up in the trace. But from what I can tell it seems like the crash is happening in the pulseaudio section of the plugin. The address at 0x000055b0ba858e64 should correspond to line 50 in paudio.c.

I also looked at your Konsole session. I don't see any errors on your side, but after you ran:

set solib-search-path /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins/

It should have said something like this:
(at least that is what it's doing on my Deck)

Reading symbols from /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins/ts3-qs4sd.so...

Please verify that you were using the ts3-qs4sd.so with debug symbols. It should show as version 1.1.2-dbg in the TeamSpeak Addons view and should say with debug_info, not stripped when running the file command on it:

$ file /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins/ts3-qs4sd.so
ts3-qs4sd.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d4b50fa9e1b1c41b3f721772a357c0237d706fd8, with debug_info, not stripped

If it doesn't say with debug_info, not stripped try to copy the ts3-qs4sd.so manually from the Decky plugins folder to the TeamSpeak plugins folder:

$ cp /home/deck/homebrew/plugins/ts3-qs4sd/bin/ts3-qs4sd.so /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins

And verify again with file if it now says with debug_info, not stripped.

I can also see from your Konsole session that you have two coredumps for TeamSpeak available. One from the 28th and one on the 31. of october. The flatpak-coredumpctl command will just pick up the lastest coredump. You can specify which coredump to use by appending -m <PID> to the command. For your specific case it would be:

If you run this again, don't forget to load the debugging symbols via:

set solib-search-path /home/deck/.var/app/com.teamspeak.TeamSpeak/.ts3client/plugins/

Before you execute where.

To verify my assumption that the crash is happening in the pulseaudio section I prepared a new version of the plugin which does not interact with pulseaudio. You can give this version a try and if my assumption is correct, the plugin should load (but volume controls won't work).

You can download this special version from here. It should show up as version 1.1.2-nopa in the TeamSpeak Addons view.

But to get the issue fixed I need a stacktrace with debugging information. If for whatever reason the ?? keep showing up after running where you can also extract the coredump and upload it here, so I can take a look at it. You can do this with:

After running these commands there should be two .dmp files in your Home directory which you can upload here.

And thanks again for helping with this issue.

DSKB823 commented 11 months ago

Of course I'll help to the best of my abilities, I want a working plugin too so it's in my own best interest to help out. I made sure those debug symbols were loaded, and I'm on the right plugin according to Decky loader and Teamspeak of course. The debug symbols still didn't seem to show up . The Coredump from the 28th had some issues being created and wont send via KDEconnect to my Desktop so I'm excluding it for now. I've got you the coredump from the 31st and 2 more from today while using the nopa version of the plugin (nopa didn't fix the issues, I even remembered to restart the deck this time which I forgot the last time but made no difference so far anyway) got you the Konsole output again to check what I've done as well. Coredump31 is from the 31st, coredump 1 and 2 are from today about 4 minutes apart both 1 and 2 should be using the nopa plugin. The coredumps are all in one zip file because github complained that they don't support the upload of .dmp files for some reason.

Konsole Session 011123 Teamspeak plugin.txt

nopa Konsole Session 011123 Teamspeak plugin.txt

coredump.zip

ILadis commented 11 months ago

I've looked at your coredumps and it seems that the crash happens even before ts3-qs4sd.so is loaded. This would also explain why the debug symbols don't load when running set solib-search-path from within the gdb session.

My current guess is that there is an issue when starting TeamSpeak in the background while in Gaming mode. Can you please try the following: Switch to Desktop mode and launch TeamSpeak from there and connect to a server. If the application doesn't crash the issue must be related to Gaming mode.

If that's the case the comment from @marvinlehmann could actually be a potential fix for the issue.
You can also try this new version which sets the PULSE_SERVER environment variable before starting TeamSpeak.

Still kind of weird why this issue isn't happening on my Deck.

DSKB823 commented 11 months ago

installed your new version, connected to a TeamSpeak server in Desktop mode without crashing. Went back to gaming mode still connected, while also connected on my PC and my Steamdecks TeamSpeak client timed out shortly after entering gaming mode. Tried editing the main.py file but did not seem to fix anything for me.

Edit: "I might have rushed through editing the file a bit although adding 1 line of code via copy paste shouldn't allow for too many mistakes due to rushing it."

Got you another coredump before and after editing the main.py file.

coredumps editing main file.zip

maybe the contents of my plugin folder could give a hint?

ksnip_20231101-153538

Or could occasionally updating via Discover have anything to do with the issue? those are 2 things I could imagine being the reason it's only an issue for some people.

ILadis commented 11 months ago

When switching back to Gaming mode all applications get closed so it's expected that you see the Deck timeout on your PC.

Did you also try to launch the plugin in Gaming mode using the updated version? It usually takes 3-4 seconds before anything shows up when you select the plugin in the quick access menu.

Updating the flatpaks through Discover shouldn't be an issue. I'm doing this all the time too.

What exactly did you edit in the main.py? Can you post the contents?

DSKB823 commented 11 months ago

I just did this:

ksnip_20231101-164127

took this one line of code and pasted it on line 46 as (to my understanding) described above.