Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Solved: UPnP - CamillaDSP
#11
@klausimausi04 I can finally reproduce how to break the flat.yml config. Something to do with php yml parser. Now to find a way to fix this.
Reply
#12
Can confirm, I have this issue.

The combination of CamillaDSP and any streaming through upnp does not work for me. It'e even enough to navigate in the web UI, during playback. It breaks. This is a shame since the system wide DSP is one of moOdes biggest advantages. It's also a shame that we have to deal with inferior inbetween apps such as bubble etc, instead of just being able to do tidal or qobuz connect from the native apps to our streamers, it would eliminate some of this crap. But I guess thats another topic....
Reply
#13
@caseyjones are you sure you have exact the same issue as the OP? The cause was a broken flat config file, caused by the yaml parser.
Which was fixed in release 7.2 ans was unrelated to upnp. Besides that just validated with BubbleUPN and moode UPNP service type set OpenHome, not problem.
Reply
#14
Maybe I expressed myself in an unfortunate way.

Yes, I think it is exact the same issue and unfortunately it still exists for me in also in Version 7.2.

Streaming via UPnP including Camilla DSP works, but only until some function of the controller is executed (e.g. pause or next track).
At that point the connection breaks down and playback stops.

Streaming without Camilla DSP: no problems at all.

Kind Regards
Klaus
Reply
#15
(05-19-2021, 07:19 PM)bitlab Wrote: @caseyjones are you sure you have exact the same issue as the OP? The cause was a broken flat config file, caused by the yaml parser.
Which was fixed in release 7.2 ans was unrelated to upnp. Besides that just validated with BubbleUPN and moode UPNP service type set OpenHome, not problem.

Same or just similar, I'm note sure. But many things seem identical:

- C-DSP in itself works. OK With playing files from local network.
- BubbleUPnP in itself works. OK for controlling streaming services, WITHOUT C-DSP enabled.
- ParametricEQ works with BubbleUPnP and streaming. Not sure if this is under the C-DSP umbrella. If so, the error is just when using the convolution engine.

- Combine UPnP-client control and C-DSP, after some rebooting/restarting it is possible to make it work, but can not touch anyting in either control app or the webui, then I get error message something like "Current state of service does not allow this action, 501" sometimes also 404.


Code:
May 20 09:43:19 moode python3[21316]: OSError: Not connected to CamillaDSP
May 20 09:43:19 moode python3[21316]:     raise IOError("Not connected to CamillaDSP")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 64, in _query
May 20 09:43:19 moode python3[21316]:     clipped = self._query("GetClippedSamples")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 248, in get_clipped_samples
May 20 09:43:19 moode python3[21316]:     result = cdsp.get_clipped_samples()
May 20 09:43:19 moode python3[21316]:   File "/opt/camillagui/views.py", line 65, in get_param
May 20 09:43:19 moode python3[21316]:     resp = await handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_app.py", line 499, in _handle
May 20 09:43:19 moode python3[21316]:     resp = await self._request_handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_protocol.py", line 422, in _handle_request
May 20 09:43:19 moode python3[21316]: Traceback (most recent call last):
May 20 09:43:19 moode python3[21316]: Error handling request
May 20 09:43:19 moode python3[21316]: OSError: Not connected to CamillaDSP
May 20 09:43:19 moode python3[21316]:     raise IOError("Not connected to CamillaDSP")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 64, in _query
May 20 09:43:19 moode python3[21316]:     level = self._query("GetBufferLevel")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 241, in get_buffer_level
May 20 09:43:19 moode python3[21316]:     result = cdsp.get_buffer_level()
May 20 09:43:19 moode python3[21316]:   File "/opt/camillagui/views.py", line 63, in get_param
May 20 09:43:19 moode python3[21316]:     resp = await handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_app.py", line 499, in _handle
May 20 09:43:19 moode python3[21316]:     resp = await self._request_handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_protocol.py", line 422, in _handle_request
May 20 09:43:19 moode python3[21316]: Traceback (most recent call last):
May 20 09:43:19 moode python3[21316]: Error handling request
May 20 09:43:19 moode python3[21316]: OSError: Not connected to CamillaDSP
May 20 09:43:19 moode python3[21316]:     raise IOError("Not connected to CamillaDSP")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 64, in _query
May 20 09:43:19 moode python3[21316]:     adj = self._query("GetRateAdjust")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 234, in get_rate_adjust
May 20 09:43:19 moode python3[21316]:     result = cdsp.get_rate_adjust()
May 20 09:43:19 moode python3[21316]:   File "/opt/camillagui/views.py", line 55, in get_param
May 20 09:43:19 moode python3[21316]:     resp = await handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_app.py", line 499, in _handle
May 20 09:43:19 moode python3[21316]:     resp = await self._request_handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_protocol.py", line 422, in _handle_request
May 20 09:43:19 moode python3[21316]: Traceback (most recent call last):
May 20 09:43:19 moode python3[21316]: Error handling request
May 20 09:43:19 moode python3[21316]: OSError: Not connected to CamillaDSP
May 20 09:43:19 moode python3[21316]:     raise IOError("Not connected to CamillaDSP")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 64, in _query
May 20 09:43:19 moode python3[21316]:     rate = self._query("GetCaptureRate")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 204, in get_capture_rate_raw
May 20 09:43:19 moode python3[21316]:     rate = self.get_capture_rate_raw()
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 211, in get_capture_rate
May 20 09:43:19 moode python3[21316]:     result = cdsp.get_capture_rate()
May 20 09:43:19 moode python3[21316]:   File "/opt/camillagui/views.py", line 53, in get_param
May 20 09:43:19 moode python3[21316]:     resp = await handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_app.py", line 499, in _handle
May 20 09:43:19 moode python3[21316]:     resp = await self._request_handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_protocol.py", line 422, in _handle_request
May 20 09:43:19 moode python3[21316]: Traceback (most recent call last):
May 20 09:43:19 moode python3[21316]: Error handling request
May 20 09:43:19 moode python3[21316]: OSError: Not connected to CamillaDSP
May 20 09:43:19 moode python3[21316]:     raise IOError("Not connected to CamillaDSP")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 64, in _query
May 20 09:43:19 moode python3[21316]:     sigrms = self._query("GetPlaybackSignalRms")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 167, in get_playback_signal_rms
May 20 09:43:19 moode python3[21316]:     result = cdsp.get_playback_signal_rms()
May 20 09:43:19 moode python3[21316]:   File "/opt/camillagui/views.py", line 82, in get_list_param
May 20 09:43:19 moode python3[21316]:     resp = await handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_app.py", line 499, in _handle
May 20 09:43:19 moode python3[21316]:     resp = await self._request_handler(request)
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/aiohttp/web_protocol.py", line 422, in _handle_request
May 20 09:43:19 moode python3[21316]: Traceback (most recent call last):
May 20 09:43:19 moode python3[21316]: Error handling request
May 20 09:43:19 moode python3[21316]: OSError: Not connected to CamillaDSP
May 20 09:43:19 moode python3[21316]:     raise IOError("Not connected to CamillaDSP")
May 20 09:43:19 moode python3[21316]:   File "/usr/local/lib/python3.7/dist-packages/camilladsp/camilladsp.py", line 64, in _query
Reply
#16
My system:
RPi 4 4GB
Fresh install moOde 7.2.1
Matrix USB interface and DAC
Wireless network connection
Reply
#17
@caseyjones @klausimausi04 ok clear.

If you feel comfortable with the ssh terminal (on the system config page is a web ssh terminal); could you run the following command when you have problems:

Code:
sudo systemctl status upmpdcli

My output when having issues looks like:

Code:
pi@moodep4:~ $ sudo systemctl status upmpdcli
● upmpdcli.service - UPnP Renderer front-end to MPD
  Loaded: loaded (/lib/systemd/system/upmpdcli.service; disabled; vendor preset: enabled)
  Active: active (running) since Thu 2021-05-20 13:07:26 CEST; 2h 22min ago
Main PID: 16996 (upmpdcli)
   Tasks: 10 (limit: 4915)
  CGroup: /system.slice/upmpdcli.service
          └─16996 /usr/bin/upmpdcli -c /etc/upmpdcli.conf

May 20 13:07:26 moodep4 systemd[1]: Started UPnP Renderer front-end to MPD.
May 20 13:07:26 moodep4 upmpdcli[16996]: :3:src/mediaserver/contentdirectory.cxx:189::ContentDirectory: not creating entry for hra because neither hrauser nor hraautostart are defined in the co
May 20 13:07:26 moodep4 upmpdcli[16996]: :3:src/mediaserver/contentdirectory.cxx:189::ContentDirectory: not creating entry for qobuz because neither qobuzuser nor qobuzautostart are defined in
May 20 13:07:26 moodep4 upmpdcli[16996]: :3:src/mediaserver/contentdirectory.cxx:189::ContentDirectory: not creating entry for spotify because neither spotifyuser nor spotifyautostart are defin
May 20 13:07:26 moodep4 upmpdcli[16996]: :3:src/mediaserver/contentdirectory.cxx:189::ContentDirectory: not creating entry for tidal because neither tidaluser nor tidalautostart are defined in
May 20 13:07:26 moodep4 upmpdcli[16996]: :3:src/mediaserver/contentdirectory.cxx:189::ContentDirectory: not creating entry for uprcl because neither uprcluser nor uprclautostart are defined in
May 20 13:07:26 moodep4 upmpdcli[16996]: :3:libupnpp/upnpplib.cxx:229::LibUPnP: Using IPV4 192.168.178.152 port 49152 IPV6  port 49152
May 20 13:38:16 moodep4 upmpdcli[16996]: :2:src/mpdcli.cxx:311::mpd_run_stop(m_conn) failed: Connection closed by the server
May 20 13:38:16 moodep4 upmpdcli[16996]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started

And does the following command fix the issue (temporary till the next issue):
Code:
sudo systemctl restart upmpdcli
Reply
#18
Here is my output for the first command:

Code:
pi@moode:~ $ sudo systemctl status upmpdcli
● upmpdcli.service - UPnP Renderer front-end to MPD
  Loaded: loaded (/lib/systemd/system/upmpdcli.service; disabled; vendor preset: enabled)                                                                                                    
  Active: failed (Result: signal) since Thu 2021-05-20 16:15:21 CEST; 2min 26s ago
 Process: 882 ExecStart=/usr/bin/upmpdcli -c /etc/upmpdcli.conf (code=killed, signal=SEGV)
Main PID: 882 (code=killed, signal=SEGV)                                                                                                                                                    
                                                                                                                                                                                             
May 20 16:12:13 moode upmpdcli[882]: :3:libupnpp/upnpplib.cxx:229::LibUPnP: Using IPV4 192.168.188.24 port 49152 IPV6  port 49152                                                           
May 20 16:14:17 moode upmpdcli[882]: :2:src/mpdcli.cxx:224::MPDCli::eventloop: mpd_run_idle_mask returned 0                                                                                  
May 20 16:14:59 moode upmpdcli[882]: :3:libupnpp/device/device.cxx:428::UpnpDevice: No such action: PrepareForConnection                                                                      
May 20 16:15:01 moode upmpdcli[882]: :3:src/upmpd.cxx:326::checkContentFormat: format check disabled                                                                                          
May 20 16:15:01 moode upmpdcli[882]: :2:src/mpdcli.cxx:311::mpd_run_clear(m_conn) failed: Connection closed by the server                                                                    
May 20 16:15:21 moode upmpdcli[882]: :2:src/mpdcli.cxx:224::MPDCli::eventloop: mpd_run_idle_mask returned 0                                                                                  
May 20 16:15:21 moode upmpdcli[882]: :2:src/mpdcli.cxx:311::mpd_run_stop(m_conn) failed: Connection closed by the server                                                                      
May 20 16:15:21 moode upmpdcli[882]: :2:src/mpdcli.cxx:114::MPDCli::openconn: mpd_connection_new failed: Connection reset by peer                                                            
May 20 16:15:21 moode systemd[1]: upmpdcli.service: Main process exited, code=killed, status=11/SEGV                                                                                          
May 20 16:15:21 moode systemd[1]: upmpdcli.service: Failed with result 'signal'.


And yes, the second command solves the problem temporarily until the next problem.

Kind regards
Klaus
Reply
#19
Code:
pi@moode:~ $ sudo systemctl status upmpdcli
● upmpdcli.service - UPnP Renderer front-end to MPD
  Loaded: loaded (/lib/systemd/system/upmpdcli.service; disabled; vendor preset: enabled)
  Active: failed (Result: signal) since Thu 2021-05-20 18:09:25 CEST; 12s ago
 Process: 958 ExecStart=/usr/bin/upmpdcli -c /etc/upmpdcli.conf (code=killed, signal=SEGV)
Main PID: 958 (code=killed, signal=SEGV)

May 20 12:16:40 moode upmpdcli[958]: :2:src/mpdcli.cxx:311::mpd_run_clear(m_conn) failed: Connection closed by the server
May 20 12:16:40 moode upmpdcli[958]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started
May 20 12:32:23 moode upmpdcli[958]: :2:src/mpdcli.cxx:224::MPDCli::eventloop: mpd_run_idle_mask returned 0
May 20 17:33:48 moode upmpdcli[958]: :2:src/mpdcli.cxx:311::mpd_run_stop(m_conn) failed: Connection closed by the server
May 20 18:00:04 moode upmpdcli[958]: :2:src/mpdcli.cxx:224::MPDCli::eventloop: mpd_run_idle_mask returned 0
May 20 18:09:25 moode upmpdcli[958]: :2:src/mpdcli.cxx:311::mpd_run_clear(m_conn) failed: Connection closed by the server
May 20 18:09:25 moode upmpdcli[958]: :2:src/mpdcli.cxx:311::mpd_run_repeat(m_conn, on) failed: Connection closed by the server
May 20 18:09:25 moode upmpdcli[958]: :2:src/mpdcli.cxx:114::MPDCli::openconn: mpd_connection_new failed: Connection refused
May 20 18:09:25 moode systemd[1]: upmpdcli.service: Main process exited, code=killed, status=11/SEGV
May 20 18:09:25 moode systemd[1]: upmpdcli.service: Failed with result 'signal'.
First example, above: I broke it by changing track in the BubbleUPnP app.
Second example, below: I broke it by not touching anything in the app, but navigating around the web interface. Not changing tracks, or touching any settings, just navigation between a few pages. There is a difference, in this case the service still shows up as running, but it is not working.
Code:
pi@moode:~ $ sudo systemctl status upmpdcli
● upmpdcli.service - UPnP Renderer front-end to MPD
  Loaded: loaded (/lib/systemd/system/upmpdcli.service; disabled; vendor preset: enabled)
  Active: active (running) since Thu 2021-05-20 18:11:51 CEST; 3min 37s ago
Main PID: 26994 (upmpdcli)
   Tasks: 10 (limit: 4915)
  CGroup: /system.slice/upmpdcli.service
          └─26994 /usr/bin/upmpdcli -c /etc/upmpdcli.conf

May 20 18:13:12 moode upmpdcli[26994]: :2:src/mpdcli.cxx:311::mpd_run_stop(m_conn) failed: Connection closed by the server
May 20 18:13:12 moode upmpdcli[26994]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started
May 20 18:13:26 moode upmpdcli[26994]: :2:src/mpdcli.cxx:114::MPDCli::openconn: mpd_connection_new failed: Timeout
May 20 18:13:26 moode upmpdcli[26994]: :2:src/mpdcli.cxx:370::MPDCli::updStatus: connection failed
May 20 18:13:29 moode upmpdcli[26994]: :2:src/mpdcli.cxx:114::MPDCli::openconn: mpd_connection_new failed: Timeout
May 20 18:13:29 moode upmpdcli[26994]: :2:src/mpdcli.cxx:363::MPDCli::updStatus: no connection
May 20 18:13:30 moode upmpdcli[26994]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started
May 20 18:14:00 moode upmpdcli[26994]: :2:src/mpdcli.cxx:224::MPDCli::eventloop: mpd_run_idle_mask returned 0
May 20 18:14:00 moode upmpdcli[26994]: :2:src/mpdcli.cxx:114::MPDCli::openconn: mpd_connection_new failed: Connection refused
May 20 18:14:00 moode upmpdcli[26994]: :2:src/mpdcli.cxx:370::MPDCli::updStatus: connection failed
pi@moode:~ $
Reply
#20
So no hints in the mpd log, but we have hints about the issue from upmpdcli status.
I tried to enable  and increase the mpdtimeoutms in upmpdcli.conf, but at my side that doesn't influence the issue.
Reply


Forum Jump: