Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kodi 18: Netflix and Amazon App can't load libwidevine with current inputstream adaptive #185

Closed
Krawei opened this issue Sep 5, 2018 · 13 comments

Comments

@Krawei
Copy link

Krawei commented Sep 5, 2018

Hello Team ,

I noticed a nasty bug.

What happened so far?
I've updated the current Milhouse-Kodi 18-Build with the newest libwidevine (via popup message and following ChromeOS-Image-Download) and Netflix and Amazon are complaining about "Unable to load widevine shared library" since then.

But the .so-file is available and hasn't been deleted.

See my shell output:
Kinokiste:~ # ls -la .kodi/cdm/libwidevinecdm.so
lrwxrwxrwx 1 root root 88 Sep 4 23:46 .kodi/cdm/libwidevinecdm.so -> /storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm/libwidevinecdm.so

Kinokiste:~ # ls -la /storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm/libwidevinecdm.so
-rwxr-xr-x 1 root root 8012100 Sep 4 23:46 /storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm/libwidevinecdm.so

The debug-Log is here

https://privatebin.net/?df072fcf56f091c6#qSWxuA2RhZxAwpvOQKIQtnc3tNJP9TjQ+2XdDwN0Z5Q=

Hope you can find the reason for this :) .

...
Edit: Versions added

Versions:
inputstream.adaptive v999.2.2.26
plugin.video.netflix v0.13.12
plugin.video.amazon v1.9.7
plugin.video.amazon-test v0.5.7
LibreELEC (Milhouse): devel-20180904210311-#904-g1725942 [Build #904] 9.0
Architecture - RPi3.arm
kernel Linux ARM 32-bit version 4.18.5

@safoelc252
Copy link

Oh, yay, we have same issue. Will mark mine as duplicate.

@hensschenit
Copy link

Same issue here!

@mrfixit2001
Copy link

Same issue, slightly different details in the log, but I believe it's the same problem due to the new library update.

Here's the debug log:
https://pastebin.com/84fk8AUR

@faibistes
Copy link

Same issue. Here's the relevant log lines:
22:40:45.521 T:1364194032 NOTICE: Creating InputStream 22:40:45.905 T:1364194032 ERROR: AddOnLog: InputStream Adaptive: Unable to load widevine shared library (/home/osmc/.kodi/cdm/libwidevinecdm.so) 22:40:45.905 T:1364194032 ERROR: AddOnLog: InputStream Adaptive: OpenDRMSystem failed 22:40:45.906 T:1364194032 ERROR: CVideoPlayer::OpenInputStream - error opening [plugin://plugin.video.netflix/?action=play_video&infoLabels=%7B%27rating%27%3A+0%2C+%27season%27%3A+None%2C+%27tvshowtitle%27%3A+%27%27%2C+%27mediatype%27%3A+%27movie%27%2C+%27director%27%3A+u%27Woody+Allen%27%2C+%27duration%27%3A+5276%2C+%27year%27%3A+2009%2C+%27genre%27%3A+u%27Comedias+rom%5Cxe1nticas%27%2C+%27plot%27%3A+u%27Un+c%5Cxednico+genio+descubre+que+una+chica+sure%5Cxf1a+mucho+m%5Cxe1s+joven+es+su+pareja+ideal%2C+aunque+los+padres+de+esta+discrepen.%27%2C+%27episode%27%3A+%27%27%2C+%27title%27%3A+u%27Si+la+cosa+funciona%27%2C+%27mpaa%27%3A+%27NFLX-13%2B%27%2C+%27writer%27%3A+%27%27%2C+%27cast%27%3A+%5Bu%27Ed+Begley+Jr.%27%2C+u%27Henry+Cavill%27%2C+u%27Christopher+Evan+Welch%27%2C+u%27Jessica+Hecht%27%2C+u%27Larry+David%27%2C+u%27John+Gallagher+Jr.%27%2C+u%27Carolyn+McCormick%27%2C+u%27Patricia+Clarkson%27%2C+u%27Evan+Rachel+Wood%27%2C+u%27Michael+McKean%27%5D%7D&video_id=70114945&pin=True] 22:40:45.907 T:1364194032 NOTICE: CVideoPlayer::OnExit() 22:40:46.178 T:1918341120 WARNING: OnMessage: Suspiciously long time to handle GUI_MSG_PLAYBACK_STARTED (0.59s)
It started after the latest libdivewine update. The .so is in the right place, tho. The permissions/owner are different, I don't know if that makes any difference:
lrwxrwxrwx 1 osmc osmc 90 Aug 21 18:11 .kodi/cdm/libwidevinecdm.so -> /home/osmc/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm/libwidevinecdm.so -rwxr--r-- 1 osmc osmc 3768320 Sep 4 22:27 /home/osmc/.kodi/userdata/addon_data/script.module.inputstreamhelper/cdm/libwidevinecdm.so

@mrfixit2001
Copy link

@matthuisman
Sadly, using that library brings back my previous error of ModelDeviceMismatch:

[Netflix] Error getting license: {"result": {"errorDetails": "No Details Available", "errorSubCode": 1331, "errorExternalCode": "P7", "errorDisplayMessage": "", "errorEdgeCode": 3057, "data": {"CODE": 3057, "ERROR_NAME": "ModelDeviceMismatch", "DRM_LICENSE_TYPE": "standard", "REQUEST_CONTEXT_COUNTRY": "US", "REQUEST_CONTEXT_APP_ID": 0, "CLIENT_RETRYABLE": "false", "LOCAL_MESSAGE": "Model device mismatch", "REQUEST_CONTEXT_ESN": "NFCDCH-LX-ERZU64HDAQVF7JENG1EL9H3LCU03T7", "REQUEST_CONTEXT_STACK": "prod", "REQUEST_CONTEXT_DEVICE_TYPE_ID": 1223, "SUCCESS": false, "ROOT_CAUSE_STACK_TRACE": "Not available.", "REQUEST_CONTEXT_CLIENT_ID": "fd2da01c-5990-4fb3-8b51-02c1085a780a", "REQUEST_CONTEXT_ENVIRONMENT": "prod", "DESCRIPTION": "com.netflix.pbl.error.PblException: Model device mismatch\n\tat com.netflix.widevine.service.webservice.WidevineAcquireLicenseWebService.lambda$handleStandardRequest$0(WidevineAcquireLicenseWebService.java:63)\n\tat com.netflix.spectator.api.SwapTimer.record(SwapTimer.java:42)\n\tat com.netflix.widevine.service.webservice.WidevineAcquireLicenseWebService.handleStandardRequest(WidevineAcquireLicenseWebService.java:57)\n\tat sun.reflect.GeneratedMethodAccessor494.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)\n\tat com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)\n\tat com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)\n\tat com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)\n\tat com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)\n\tat com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)\n\tat com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)\n\tat com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)\n\tat com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)\n\tat com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)\n\tat com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)\n\tat com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)\n\tat com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)\n\tat com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)\n\tat com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\n\tat com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)\n\tat com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)\n\tat com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)\n\tat com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)\n\tat com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)\n\tat com.netflix.runtime.swagger.ApiOriginFilter.doFilter(ApiOriginFilter.java:26)\n\tat com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)\n\tat com.netflix.edgar.plugins.EdgarFilter.doFilterImpl(EdgarFilter.java:231)\n\tat com.netflix.edgar.plugins.EdgarFilter.lambda$doFilter$1(EdgarFilter.java:119)\n\tat com.netflix.argus.utilities.SafeGuard.accept(SafeGuard.java:121)\n\tat com.netflix.edgar.plugins.externalhooks.EdgarSafeGuard.guard(EdgarSafeGuard.java:17)\n\tat com.netflix.edgar.plugins.EdgarFilter.doFilter(EdgarFilter.java:119)\n\tat com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)\n\tat com.netflix.server.base.NFFilter.safeDoFilter(NFFilter.java:562)\n\tat com.netflix.server.base.NFFilter.access$200(NFFilter.java:219)\n\tat com.netflix.server.base.NFFilter$3.call(NFFilter.java:467)\n\tat com.netflix.server.base.NFFilter$3.call(NFFilter.java:464)\n\tat com.netflix.lang.BindingContexts.callWithNewContext(BindingContexts.java:182)\n\tat com.netflix.server.base.NFFilter.doFilter(NFFilter.java:464)\n\tat com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)\n\tat com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)\n\tat com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)\n\tat org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:870)\n\tat org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)\n\tat org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:283)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n\tat java.lang.Thread.run(Thread.java:748)\nCaused by: com.netflix.pbl.error.PblException: Model device mismatch\n\tat com.netflix.widevine.validator.acquire.DeviceModelValidator.modelNameMatchesDeviceType(DeviceModelValidator.java:123)\n\tat com.netflix.widevine.validator.acquire.DeviceModelValidator.validate(DeviceModelValidator.java:91)\n\tat com.netflix.playback.services.LicenseService.validateRequest(LicenseService.java:212)\n\tat com.netflix.playback.services.LicenseService.commonLicenseCreation(LicenseService.java:139)\n\tat com.netflix.playback.services.LicenseService.retrieveLicense(LicenseService.java:98)\n\tat com.netflix.playback.services.web.AcquireLicenseWebService.generateResponse(AcquireLicenseWebService.java:73)\n\tat com.netflix.widevine.service.webservice.WidevineAcquireLicenseWebService.lambda$handleStandardRequest$0(WidevineAcquireLicenseWebService.java:61)\n\t... 62 more\n", "REQUEST_CONTEXT_REQUEST_ID": "00514f7b-0cfd-42e0-83fe-014027b3f873-4786206", "REQUEST_CONTEXT_ENDPOINT_PATH": "/cbp/cadmium-13", "EXCEPTION_TYPE": "PLAYBACK_SERVICE_FAULT", "TRANSLATED": true, "REQUEST_CONTEXT_IP_ADDRESS": "107.5.55.203", "TYPE": "FATAL", "REQUEST_CONTEXT_CLOCK_TIME": 1536181503}}, "success": false}

@matthuisman
Copy link
Contributor

matthuisman commented Sep 5, 2018

@mrfixit2001
Please use a pastebin service when posting logs (it fills up the page).

Try replace libwidevinecdm.so with this version:
https://drive.google.com/open?id=1IyRMx6sAKDAseiT2R1RRoNBLmayRgB9r

That one works for me on ARMv7 in KODI 18 (inputstream.adaptive 2.2.25).
It is from Spring: 10575.58.0 (Chrome Version: 67.0.3396.99, WV Version 1.4.9.1088)
https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_10575.58.0_daisy-spring_recovery_stable-channel_spring-mp-v3.bin.zip

Maybe try clearing the add-ons data etc.
Also make sure you restart KODI after replacing the libwidevine.so
As other users here have stated it fixed it for them:
https://www.kodinerds.net/index.php/Thread/44211-Release-Amazon-Prime-Instant-Video/?postID=482483#post482483

@mrfixit2001
Copy link

Sorry, that was a single line from the log and I didn't realize how long it was until after it posted.
Tried the new file, same error :(

@hensschenit
Copy link

Here is a workaround that fixed it for me...

emilsvennesson/script.module.inputstreamhelper#35 (comment)

@Kala4ik
Copy link

Kala4ik commented Sep 6, 2018

Here is a workaround that fixed it for me...
emilsvennesson/script.module.inputstreamhelper#35 (comment)

Worked for me - thx!

@Krawei
Copy link
Author

Krawei commented Dec 17, 2018

Problem fixed, will close this one.

@Krawei Krawei closed this as completed Dec 17, 2018
@mirh
Copy link

mirh commented Jan 9, 2019

You fixed it with the workaround, or is actually straightforwardly working?
Because the guys at asciidisco/plugin.video.netflix#465 seems still left with quite some problem

@hensschenit
Copy link

I fixed it with this workaround, yes!
But since this i got 2 or 3 updates for libwidevinecdm which all work well!

Greetings Tommy

@Clubfan22
Copy link

In case anybody has the same (or a similar) problem on x64, using an older Widevine version from this Fedora package fixed it for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants