Inputstream.adaptive crash after October update

Hi,

just upgraded to the October update but now I can’t stream using inputstreamadaptive anymore. When trying to play a stream Kodi crashes. Any ideas how to solve this ?

Thanks,

add

Please post some logs

Sam

nevermind, I was using a custom input stream.adaptive version for a Belgian add-on called vtm.go which got overwritten by the mediacenter upgrade …

Hey edd,

I’m the author of the vtm go addon, but I’ve noticed on my vero4k+ that when I compile the latest inputstream.adaptive, vtm go works fine (all periods), but netflix doesn’t work anymore.

When using the inputstream.adaptive from the vero3-mediacenter-osmc package, netflix works, but vtm go doesn’t work correctly, since it doesn’t have the period support.

Do you use netflix on kodi?

@sam_nazarko

I’m trying to troubleshoot this issue, but it doesn’t make sense for me… I hope you can help me out…

So, my goal is to use the latest inputstream.adaptive from the master branch, since the Leia branch isn’t up to date. Since this is something tricky (and it might be incompatible) and I want to rule out any issues, so I first start by compiling the inputstream.adaptive from the Leia branch, what should be the same you use to build for osmc.

  1. Compile an inputstream.adaptive from the Leia branch.
git clone -b Leia https://github.com/xbmc/xbmc.git
git clone -b Leia https://github.com/peak3d/inputstream.adaptive
cd inputstream.adaptive && mkdir -p build && cd build
cmake -DADDONS_TO_BUILD=inputstream.adaptive -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons
make
  1. I copied the binary files from ~/xbmc/addons/inputstream.adaptive to /usr/lib/kodi/addons/inputstream.adaptive/.
cd ../../xbmc/addons/inputstream.adaptive/
cp -d *.so* /usr/lib/kodi/addons/inputstream.adaptive/
cp -r addon.xml changelog.txt resources /usr/share/kodi/addons/inputstream.adaptive/
  1. I try to play something from my VTM GO addon. This works (it uses widevine).
  2. I try to play something from the Netflix addon. This crashes kodi.

The log from kodi doesn’t indicate anything special. I have my logs uploaded to https://paste.osmc.tv/oqavenajor

I don’t understand why Kodi crashes when I play something from netflix, since this should be the same code as you use to build the addon.

Things I tried:

  • I’ve installed vero3-mediacenter-debug-osmc, started the debug binary from kodi like MALLOC_MMAP_THRESHOLD_=8192 LIRC_SOCKET_PATH=/var/run/lirc/lircd /usr/lib/kodi/kodi.bin.distributed --standalone -fs
  • This created a coredump (860 MB) with this stacktrace:
Core was generated by `/usr/lib/kodi/kodi.bin.distributed --standalone -fs'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xc14c01ca in CInputStreamAdaptive::DemuxRead() () from /usr/lib/kodi/addons/inputstream.adaptive/inputstream.adaptive.so.2.4.2
[Current thread is 1 (Thread 0xc0b112e0 (LWP 17351))]
(gdb) bt
#0  0xc14c01ca in CInputStreamAdaptive::DemuxRead() () from /usr/lib/kodi/addons/inputstream.adaptive/inputstream.adaptive.so.2.4.2
#1  0xab385714 in CDVDDemuxClient::Read() ()
#2  0xab3c26a6 in CVideoPlayer::ReadPacket(DemuxPacket*&, CDemuxStream*&) ()
#3  0xab3c8304 in CVideoPlayer::Process() ()
#4  0xab557c64 in CThread::Action() ()
#5  0xab558eca in CThread::staticThread(void*) ()
#6  0xf72b95d8 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#7  0xf5c686fa in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Now I’m stuck. I don’t know why my compiled inputstream.adaptive crashes when I play something from Netflix, but the one from the debian package works fine.

What toolchain are you using?
On what device are you building?

Sam

I’m building on my Vero4k+ itself, with the usual build-essentials package. I haven’t done anything special for this.

Binary add-ones are tightly coupled to Kodi. Just to clarify, you’re building everything, and not just the add-on?

Sam

Hmm, no, just the Inputstream add-on. For PC, I can install a separate build inputstream just fine.

For osmc on my Vero4k, it also works (on vtm go) just not for Netflix… That’s the strange part.

Is there another way to only build an inputstream adaptive on a Vero4k?

My end goal here is to try out the master branch of inputstream adaptive on the Vero4k.

We build Kodi and add-ons in one go, so I’m not sure how this could be done separately. But once you have a tree, you’d be able to iterate over changes quite quickly.

I’m still trying to make this work. I’m currently building the mediacenter-osmc package on my pc for the vero3, but I can’t find the code where inputstream.adaptive is downloaded and compiled.

It’s in the ADDONS_TO_BUILD parameter that is passed to the Kodi build script, but I can’t find where it downloads the code for it…

I will bump the add-on versions shortly.

Sam

The problem is that there is no “official” release for Leia yet with the fixed I need. Those are only done on the master branch for now. I just want to try out these changes.

I’ve tried to compile them manually like described here: Inputstream.adaptive crash after October update , but that gives the strange Netflix-issues as described above.

I now want to try the “official” way, by compiling the debian package, but then I don’t know how to make sure I have the specific branch of inputstream.adaptive I need.

Allright, I’ve found out about all-117-use-osmc-binary-addon-repo.patch, made my own fork of the osmc/repo-binary-addons repo and changed the inputstream.adaptive file to master. It’s building now, but there is no compiler cache that is used unfortunatly, so this can take a while…

Awesome. This worked. I’m now certain that the inputstream.adaptive master works fine on Leia, and I don’t have the crashes that I had with netflix.

For those who care: Don’t compile inputstream adaptive from scratch (as documented in their repo), but make a debian package trough a osmc build.

1 Like

Hi Michael,
I’ve been following your github for quite some time.
Could you elaborate your message however on how exactly I need to set up the inputstream.adaptive to get your plugin to work on Leia?
Is there a binary I can just extract on my Vero4K?

TIA

I made a new Debian package that overrides the existing package, I’ll see if I can upload it somewhere.

1 Like

Super, thanks!

if you got a github use github to push the package under releases then no need for uploading packages anywhere else

I’ve just uploaded it to dropbox, since it doesn’t really belong in the vtm go repository.

It’s a compile of 3 January, so it might not be the latest code. I think I also left out some other modules, so you might want to copy out the files for /usr/lib/kodi/addons/inputstream.adaptive/ and /usr/share/kodi/addons/inputstream.adaptive/ and replace them yourself. Just installing the debian package worked for me however.

This package fixed the crashing of Netflix, and still allows to view content from VTM GO.

When I have a bit more time, I would like to investigate this further.

As usual, don’t trust packages you find online from random strangers :grin: