ecdahl writes

Hi, I’m getting a segmentation fault after upgrading to upmpdcli 1.2.2-1 (using apt/repository on Debian 8 armhf). It was working fine for a long time prior to the upgrade, on version 1.1.4 I believe… Any ideas on what might be causing this?

# upmpdcli -l 6 -d /dev/stdout
:4:src/mpdcli.cxx:128::MPDCLi::openconn: mpd protocol version: 0.19.0
:4:libupnpp/upnpplib.cxx:155::LibUPnP: Using IP 192.168.200.251 port 49152
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:upnp-org:serviceId:AVTransport]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:upnp-org:serviceId:RenderingControl]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:upnp-org:serviceId:ConnectionManager]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Info]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Time]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Volume]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Playlist]
:4:src/ohplaylist.cxx:107::ohPlaylist: cache restore done
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Radio]
:4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Product]
:4:src/ohproduct.cxx:103::OHProduct::OHProduct: sources: <SourceList >
 <Source >
  <Name >Playlist</Name >
  <Type >Playlist</Type >
  <Visible >1</Visible >
  </Source >
 <Source >
  <Name >Radio</Name >
  <Type >Radio</Type >
  <Visible >1</Visible >
  </Source >
</SourceList >

:4:src/main.cxx:695::Entering event loop
:4:src/main.cxx:702::Renderer event loop
Segmentation fault
# ldd /usr/bin/upmpdcli
    libmicrohttpd.so.10 = > /usr/lib/arm-linux-gnueabihf/libmicrohttpd.so.10 (0x76f5a000)
    libmpdclient.so.2 = > /usr/lib/libmpdclient.so.2 (0x76f43000)
    libupnpp.so.6 = > /usr/lib/libupnpp.so.6 (0x76e85000)
    libpthread.so.0 = > /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76e62000)
    libjsoncpp.so.0 = > /usr/lib/libjsoncpp.so.0 (0x76e21000)
    libstdc++.so.6 = > /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76d6a000)
    libm.so.6 = > /lib/arm-linux-gnueabihf/libm.so.6 (0x76cf5000)
    libgcc_s.so.1 = > /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76ccc000)
    libc.so.6 = > /lib/arm-linux-gnueabihf/libc.so.6 (0x76bdc000)
    /lib/ld-linux-armhf.so.3 (0x76f88000)
    libgnutls-deb0.so.28 = > /usr/lib/arm-linux-gnueabihf/libgnutls-deb0.so.28 (0x76b16000)
    libgcrypt.so.20 = > /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0x76a87000)
    libexpat.so.1 = > /lib/arm-linux-gnueabihf/libexpat.so.1 (0x76a5e000)
    libcurl-gnutls.so.4 = > /usr/lib/arm-linux-gnueabihf/libcurl-gnutls.so.4 (0x76a0a000)
    libixml.so.2 = > /usr/lib/arm-linux-gnueabihf/libixml.so.2 (0x769f7000)
    libupnp.so.6 = > /usr/lib/arm-linux-gnueabihf/libupnp.so.6 (0x769bf000)
    librt.so.1 = > /lib/arm-linux-gnueabihf/librt.so.1 (0x769a9000)
    libz.so.1 = > /lib/arm-linux-gnueabihf/libz.so.1 (0x76986000)
    libp11-kit.so.0 = > /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0x7694d000)
    libtasn1.so.6 = > /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0x76931000)
    libnettle.so.4 = > /usr/lib/arm-linux-gnueabihf/libnettle.so.4 (0x768f8000)
    libhogweed.so.2 = > /usr/lib/arm-linux-gnueabihf/libhogweed.so.2 (0x768c3000)
    libgmp.so.10 = > /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0x76865000)
    libgpg-error.so.0 = > /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0x7684a000)
    libidn.so.11 = > /usr/lib/arm-linux-gnueabihf/libidn.so.11 (0x7680a000)
    librtmp.so.1 = > /usr/lib/arm-linux-gnueabihf/librtmp.so.1 (0x767e6000)
    libssh2.so.1 = > /usr/lib/arm-linux-gnueabihf/libssh2.so.1 (0x767bc000)
    libgssapi_krb5.so.2 = > /usr/lib/arm-linux-gnueabihf/libgssapi_krb5.so.2 (0x76781000)
    libkrb5.so.3 = > /usr/lib/arm-linux-gnueabihf/libkrb5.so.3 (0x766eb000)
    libk5crypto.so.3 = > /usr/lib/arm-linux-gnueabihf/libk5crypto.so.3 (0x766b6000)
    libcom_err.so.2 = > /lib/arm-linux-gnueabihf/libcom_err.so.2 (0x766a3000)
    liblber-2.4.so.2 = > /usr/lib/arm-linux-gnueabihf/liblber-2.4.so.2 (0x7668a000)
    libldap_r-2.4.so.2 = > /usr/lib/arm-linux-gnueabihf/libldap_r-2.4.so.2 (0x76656000)
    libthreadutil.so.6 = > /usr/lib/arm-linux-gnueabihf/libthreadutil.so.6 (0x76648000)
    libffi.so.6 = > /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x76632000)
    libdl.so.2 = > /lib/arm-linux-gnueabihf/libdl.so.2 (0x7661f000)
    libkrb5support.so.0 = > /usr/lib/arm-linux-gnueabihf/libkrb5support.so.0 (0x76607000)
    libkeyutils.so.1 = > /lib/arm-linux-gnueabihf/libkeyutils.so.1 (0x765f4000)
    libresolv.so.2 = > /lib/arm-linux-gnueabihf/libresolv.so.2 (0x765d4000)
    libsasl2.so.2 = > /usr/lib/arm-linux-gnueabihf/libsasl2.so.2 (0x765b3000)

medoc92 writes

ecdahl writes:

> Hi, I'm getting a segmentation fault after upgrading to upmpdcli 1.2.2-1 (using
> apt/repository on Debian 8 armhf). It was working fine for a long time prior to
> the upgrade, on version 1.1.4 I believe... Any ideas on what might be causing
> this?

Hi,

> # upmpdcli -l 6 -d /dev/stdout

No, no idea, I need to try and crash it myself. - Does it do the same thing with a configuration file ? - Are you running raspbian ?

While I investigate, you can hopefully get your system back to work by installing the older packages:

jf

> :4:src/mpdcli.cxx:128::MPDCLi::openconn: mpd protocol version: 0.19.0
> :4:libupnpp/upnpplib.cxx:155::LibUPnP: Using IP 192.168.200.251 port 49152
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:upnp-org:serviceId:AVTransport]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:upnp-org:serviceId:RenderingControl]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:upnp-org:serviceId:ConnectionManager]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Info]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Time]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Volume]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Playlist]
> :4:src/ohplaylist.cxx:107::ohPlaylist: cache restore done
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Radio]
> :4:libupnpp/device/device.cxx:423::UpnpDevice::addService: [urn:av-openhome-org:serviceId:Product]
> :4:src/ohproduct.cxx:103::OHProduct::OHProduct: sources: <SourceList >
>  <Source >
>   <Name >Playlist</Name >
>   <Type >Playlist</Type >
>   <Visible >1</Visible >
>   </Source >
>  <Source >
>   <Name >Radio</Name >
>   <Type >Radio</Type >
>   <Visible >1</Visible >
>   </Source >
> </SourceList >
>
> :4:src/main.cxx:695::Entering event loop
> :4:src/main.cxx:702::Renderer event loop
> Segmentation fault
>
> # ldd /usr/bin/upmpdcli
>
>
 > libmicrohttpd.so.10 = > /usr/lib/arm-linux-gnueabihf/libmicrohttpd.so.10 (0x76f5a000)
 > libmpdclient.so.2 = > /usr/lib/libmpdclient.so.2 (0x76f43000)
 > libupnpp.so.6 = > /usr/lib/libupnpp.so.6 (0x76e85000)
 > libpthread.so.0 = > /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76e62000)
 > libjsoncpp.so.0 = > /usr/lib/libjsoncpp.so.0 (0x76e21000)
 > libstdc++.so.6 = > /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76d6a000)
 > libm.so.6 = > /lib/arm-linux-gnueabihf/libm.so.6 (0x76cf5000)
 > libgcc_s.so.1 = > /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76ccc000)
 > libc.so.6 = > /lib/arm-linux-gnueabihf/libc.so.6 (0x76bdc000)
 > /lib/ld-linux-armhf.so.3 (0x76f88000)
 > libgnutls-deb0.so.28 = > /usr/lib/arm-linux-gnueabihf/libgnutls-deb0.so.28 (0x76b16000)
 > libgcrypt.so.20 = > /lib/arm-linux-gnueabihf/libgcrypt.so.20 (0x76a87000)
 > libexpat.so.1 = > /lib/arm-linux-gnueabihf/libexpat.so.1 (0x76a5e000)
 > libcurl-gnutls.so.4 = > /usr/lib/arm-linux-gnueabihf/libcurl-gnutls.so.4 (0x76a0a000)
 > libixml.so.2 = > /usr/lib/arm-linux-gnueabihf/libixml.so.2 (0x769f7000)
 > libupnp.so.6 = > /usr/lib/arm-linux-gnueabihf/libupnp.so.6 (0x769bf000)
 > librt.so.1 = > /lib/arm-linux-gnueabihf/librt.so.1 (0x769a9000)
 > libz.so.1 = > /lib/arm-linux-gnueabihf/libz.so.1 (0x76986000)
 > libp11-kit.so.0 = > /usr/lib/arm-linux-gnueabihf/libp11-kit.so.0 (0x7694d000)
 > libtasn1.so.6 = > /usr/lib/arm-linux-gnueabihf/libtasn1.so.6 (0x76931000)
 > libnettle.so.4 = > /usr/lib/arm-linux-gnueabihf/libnettle.so.4 (0x768f8000)
 > libhogweed.so.2 = > /usr/lib/arm-linux-gnueabihf/libhogweed.so.2 (0x768c3000)
 > libgmp.so.10 = > /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0x76865000)
 > libgpg-error.so.0 = > /lib/arm-linux-gnueabihf/libgpg-error.so.0 (0x7684a000)
 > libidn.so.11 = > /usr/lib/arm-linux-gnueabihf/libidn.so.11 (0x7680a000)
 > librtmp.so.1 = > /usr/lib/arm-linux-gnueabihf/librtmp.so.1 (0x767e6000)
 > libssh2.so.1 = > /usr/lib/arm-linux-gnueabihf/libssh2.so.1 (0x767bc000)
 > libgssapi_krb5.so.2 = > /usr/lib/arm-linux-gnueabihf/libgssapi_krb5.so.2 (0x76781000)
 > libkrb5.so.3 = > /usr/lib/arm-linux-gnueabihf/libkrb5.so.3 (0x766eb000)
 > libk5crypto.so.3 = > /usr/lib/arm-linux-gnueabihf/libk5crypto.so.3 (0x766b6000)
 > libcom_err.so.2 = > /lib/arm-linux-gnueabihf/libcom_err.so.2 (0x766a3000)
 > liblber-2.4.so.2 = > /usr/lib/arm-linux-gnueabihf/liblber-2.4.so.2 (0x7668a000)
 > libldap_r-2.4.so.2 = > /usr/lib/arm-linux-gnueabihf/libldap_r-2.4.so.2 (0x76656000)
 > libthreadutil.so.6 = > /usr/lib/arm-linux-gnueabihf/libthreadutil.so.6 (0x76648000)
 > libffi.so.6 = > /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x76632000)
 > libdl.so.2 = > /lib/arm-linux-gnueabihf/libdl.so.2 (0x7661f000)
 > libkrb5support.so.0 = > /usr/lib/arm-linux-gnueabihf/libkrb5support.so.0 (0x76607000)
 > libkeyutils.so.1 = > /lib/arm-linux-gnueabihf/libkeyutils.so.1 (0x765f4000)
 > libresolv.so.2 = > /lib/arm-linux-gnueabihf/libresolv.so.2 (0x765d4000)
 > libsasl2.so.2 = > /usr/lib/arm-linux-gnueabihf/libsasl2.so.2 (0x765b3000)
 >
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub, or mute the thread.*

ecdahl writes

Yes, it was crashing in the normal setup as well (with /usr/bin/upmpdcli -D -c /etc/upmpdcli.conf). No, it’s not Raspbian, it’s Debian Jessie (on a HummingBoard device).

I just downgraded and everything works as expected again… ;-)

I haven’t tried compiling from source yet, but I might give that a shot as well…

Cheers!

medoc92 writes

It might be interesting if you could try to build it. As it is, I am using packages built on wheezy for jessie, and this seems to work for Rasbian, but I think that trouble may be lurking.

I’ll build some jessie packages tomorrow, and upload them so that you can give them a try.

medoc92 writes

ecdahl writes

I’ve built and installed the latest version from source, and it’s running just fine… :-) I also installed the jessie packages yesterday, but those gave me the same segfault unfortunately.

Let me know if there’s any other information you would like, I’m happy to help out…

medoc92 writes

If you have a bit of time, you could give a try to the latest packages, but things do seem to point in the direction of an incompatibility between Rpi/rasbian and pure Debian on your hardware.

If this is confirmed by the latest package still crashing, probably the easiest approach will be to build from the Debian source packages on the lesbonscomptes repo, rather than from the git code (but maybe that’s what you did already ?).

ecdahl writes

Yes, I just tried the latest packages from the repo again (from …/debian12jessie/), but I get the same segfault with them. So, I’ll stick with the source packages for the time being, and I’ll do a rebuild from time to time…

Thanks anyway, cheers!

medoc92 writes

Actually I have another report which seems to point to an incompatibility between rasbian and regular debian. I need to inquire a bit more about the new one, but this now looks like a thing.

medoc92 writes

I checked today that the Raspbian packages are not compatible with Debian. Added a procedure for building the packages on Debian to the Web site:

But I guess you don’t need it :)

ecdahl writes

No worries, got it working, but thanks anyway ;-)