[Support] Djoss - MakeMKV


Recommended Posts

16 minutes ago, cybrnook said:

I will go to the movie store and get Sicario this weekend, as posted before. I know this triggers the crash, and was also the same movie that caused @luisv 's crash as well.

 

@Djoss if you have a movie rental store near you, you likely could reproduce the same, might be easier to collect logs. If not, let me know what i need to gather at the time it's happening, specifically.

 

If I can help in any way, let me know.  Feel free to send me a message with details.

Link to comment
52 minutes ago, luisv said:

 

If I can help in any way, let me know.  Feel free to send me a message with details.

That's what I am trying to figure out. You and I know we have a way to reproduce this issue, however, what do we need to provide to @Djoss that will be helpful to find the cause. Which logs, which dumps etc..... There is a few threads and responses online that point to the JAVA version that's installed, but of course, in our case we haven't proven that yet since we are in a docker container. Only Djoss would be able to test that on the Alpine build. Unless you or I try and install manually a newer v10 of Java inside our container directly, but I think that is a messy way.

Edited by cybrnook
Link to comment
3 hours ago, Djoss said:

Ok finally I bought the disc and reproduced the issue.  Looks like a Java upgrade (to version 11) fixes the issue.  I will hopefully terminate and push the fix later today.

Thanks for getting to the bottom of it. How much was the disc, I will chip in to help $. Also, check the previous notes on the broken symlink and validate ldd if you don't mind.

Link to comment
6 minutes ago, cybrnook said:

Thanks for getting to the bottom of it. How much was the disc, I will chip in to help $

Thanks for the help :)  The disc cost about 35$ CAD.

6 minutes ago, cybrnook said:

Also, check the previous notes on the broken symlink and validate ldd if you don't mind.

Since I had to switch to the official OpenJDK package (the one from the Alpine repository is stuck at v8), the ldd issue doesn't seems to apply.

  • Like 1
Link to comment

@Djoss

 

I am noticing a few things strange with the new Java deployment.

 

1. When logging into the container, $PATH does not contain any direct path to "java", so "which java" fails. I would assume this also means that the user that is running MakeMKV also cannot find Java. So I wonder if the upgrade to Java 11 has instead not fixed the issue, but instead prevented MakeMKV from even finding Java, and thus skipping it's use?

/tmp # whoami
root
/tmp # which java
/tmp # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

 

2. There is still a broken dependency which seems to be related to Alpine (Dated but similar: https://github.com/gliderlabs/docker-alpine/issues/11  and also  https://github.com/docker-library/openjdk/issues/100 ) - Is this MUSL vs GNU issue?

/tmp # ldd /usr/lib/jvm/jdk-11.0.1/bin/java
        /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
        libz.so.1 => /lib/libz.so.1 (0x154d50501000)
        libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
        libjli.so => /usr/lib/jvm/jdk-11.0.1/bin/../lib/jli/libjli.so (0x154d502f0000)
        libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
        libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
Error relocating /usr/lib/jvm/jdk-11.0.1/bin/../lib/jli/libjli.so: __rawmemchr: symbol not found

 

3. Also not sure Java is perhaps even properly working, can't even check version

/usr/lib/jvm/jdk-11.0.1/bin # ls -l java
-rwxr-xr-x    1 668      668           8672 Oct  6 08:17 java
/usr/lib/jvm/jdk-11.0.1/bin # ./java -version
sh: ./java: not found
/usr/lib/jvm/jdk-11.0.1/bin # java -version
sh: java: not found
/usr/lib/jvm/jdk-11.0.1/bin # cd /tmp
/tmp # export PATH=$PATH:/usr/lib/jvm/jdk-11.0.1/bin
/tmp # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/jdk-11.0.1/bin
/tmp # which java
/usr/lib/jvm/jdk-11.0.1/bin/java
/tmp # java -version
sh: java: not found
/tmp #

 

Edited by cybrnook
Link to comment
7 hours ago, cybrnook said:

@Djoss

 

I am noticing a few things strange with the new Java deployment.

 

1. When logging into the container, $PATH does not contain any direct path to "java", so "which java" fails. I would assume this also means that the user that is running MakeMKV also cannot find Java. So I wonder if the upgrade to Java 11 has instead not fixed the issue, but instead prevented MakeMKV from even finding Java, and thus skipping it's use?


/tmp # whoami
root
/tmp # which java
/tmp # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

 

2. There is still a broken dependency which seems to be related to Alpine (Dated but similar: https://github.com/gliderlabs/docker-alpine/issues/11  and also  https://github.com/docker-library/openjdk/issues/100 ) - Is this MUSL vs GNU issue?


/tmp # ldd /usr/lib/jvm/jdk-11.0.1/bin/java
        /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
        libz.so.1 => /lib/libz.so.1 (0x154d50501000)
        libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
        libjli.so => /usr/lib/jvm/jdk-11.0.1/bin/../lib/jli/libjli.so (0x154d502f0000)
        libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
        libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x154d50718000)
Error relocating /usr/lib/jvm/jdk-11.0.1/bin/../lib/jli/libjli.so: __rawmemchr: symbol not found

 

3. Also not sure Java is perhaps even properly working, can't even check version


/usr/lib/jvm/jdk-11.0.1/bin # ls -l java
-rwxr-xr-x    1 668      668           8672 Oct  6 08:17 java
/usr/lib/jvm/jdk-11.0.1/bin # ./java -version
sh: ./java: not found
/usr/lib/jvm/jdk-11.0.1/bin # java -version
sh: java: not found
/usr/lib/jvm/jdk-11.0.1/bin # cd /tmp
/tmp # export PATH=$PATH:/usr/lib/jvm/jdk-11.0.1/bin
/tmp # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/jdk-11.0.1/bin
/tmp # which java
/usr/lib/jvm/jdk-11.0.1/bin/java
/tmp # java -version
sh: java: not found
/tmp #

 

Thanks I will verify this and make sure MakeMKV is actually able to use Java (even though the log is saying that it is using Java).

Link to comment
On 10/27/2018 at 5:09 PM, cybrnook said:

Thanks buddy. Not sure why I am holding on to this so much 🙂 Just want to make sure we get it right.

So you were right, MakeMKV is also failing to invoke Java.  However, the problem is that even with a functional java binary, a Java exception is shown in the log with Java 11 and 12.  There is no exception in the log with Java 10, but some can be seen by strace'ing MakeMKV.  Brief, since the the disc can be ripped successfully without Java, I cannot confirm if Java really works.  I've sent an email to the author of MakeMKV, but I'm not expecting an answer soon.

  • Like 1
Link to comment

Can the application run without JAVA altogether? I think I read in the MakeMKV forums, users were comparing their installs to running MakeMKV on windows, which would not have JAVA installed by default.

 

Is it possible that you can build your Alpine base without JAVA, and we just rely on MakeMKV's ability to decode without, assuming it can't properly use JAVA to begin with (Does MakeMKV have a hard dependency on JAVA?)? I feel like this could be a solution, as I read another users "solution" was to just rename jvm to jvm.save and that solved their issue. So that would lead me to believe that IF MakeMKV find's JAVA it will attempt to use it, else if it does NOT find JAVA, it falls back onto stored procedures it can carry out itself. Seem at all plausible?

 

https://www.makemkv.com/forum/viewtopic.php?f=3&t=17268

 

"I just ran into this problem again with the UHD version of Wonder. I was able to get around it (on linux) by:

sudo mv /usr/lib/jvm /usr/lib/jvm.save

That way MakeMKV couldn't find the Java runtime and I was able to rip the disc (at least it's in progress).
Once it's done I can just rename the directory again to re-enable Java. I'm running the latest Oracle version btw."

 

Are the JAVA exceptions local to Alpine Linux that we are using? In reading up on that, there seems to be a few github issues opened here and there talking about the issues in trying to run Oracle JAVA on Alpine (MUSL, GNU, glibc, etc..). Would yet another alternative be to switch the base OS to something a bit more friendly? I assume that would put a heavier load on you as you use the same base for all your containers I believe.

Edited by cybrnook
Link to comment
On 10/30/2018 at 4:40 PM, cybrnook said:

Can the application run without JAVA altogether? I think I read in the MakeMKV forums, users were comparing their installs to running MakeMKV on windows, which would not have JAVA installed by default.

 

Is it possible that you can build your Alpine base without JAVA, and we just rely on MakeMKV's ability to decode without, assuming it can't properly use JAVA to begin with (Does MakeMKV have a hard dependency on JAVA?)? I feel like this could be a solution, as I read another users "solution" was to just rename jvm to jvm.save and that solved their issue. So that would lead me to believe that IF MakeMKV find's JAVA it will attempt to use it, else if it does NOT find JAVA, it falls back onto stored procedures it can carry out itself. Seem at all plausible?

 

 

I think that Java is optional in most situations.  However, it can be very useful.  Take for example the playlist obfuscation protection: you will see hundreds of titles with about the same time/size, but only one is the correct movie.  Without Java, you may have hard time to find the correct one.  But with Java, MakeMKV will clearly indicate where is the main movie.

 

Also, according to https://www.makemkv.com/bdjava/, it seems to have situations where Java is mandatory.

 

On 10/30/2018 at 4:40 PM, cybrnook said:

 

Are the JAVA exceptions local to Alpine Linux that we are using? In reading up on that, there seems to be a few github issues opened here and there talking about the issues in trying to run Oracle JAVA on Alpine (MUSL, GNU, glibc, etc..). Would yet another alternative be to switch the base OS to something a bit more friendly? I assume that would put a heavier load on you as you use the same base for all your containers I believe.

Even though the container is based on Alpine, all Java (in my local version) and MakeMKV binaries are linked with glibc libraries and not musl ones.  The interpreter and library search paths are properly set in every binaries/libraries to make sure no library from Alpine is used.

 

Finally, I will try to get a disc with the playlist obfuscation protection, since it seems easier to see/confirm if Java is running properly.

  • Like 1
Link to comment
  • 2 weeks later...

🙂

 

/usr/lib/jvm/jdk-12/bin # ldd java
        /lib/ld-musl-x86_64.so.1 (0x148e7e3eb000)
        libjli.so => ./../lib/libjli.so (0x148e7dfd9000)
        libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x148e7e3eb000)
        libz.so.1 => /lib/libz.so.1 (0x148e7ddc2000)
/usr/lib/jvm/jdk-12/bin # ./java -version
openjdk version "12-ea" 2019-03-19
OpenJDK Runtime Environment (build 12-ea+18)
OpenJDK 64-Bit Server VM (build 12-ea+18, mixed mode, sharing)

 

Awesome 🙂

Link to comment
  • 3 weeks later...
5 hours ago, mkono87 said:

Im getting a message in the gui saying my beta key has expired and has been removed and the app shuts down. I changed to unset but its not detecting my files correctly. I deleted the appdata repulled the image but still no luck.

The current beta key is expiring.  We need to wait for the author to publish a new one (this is usually done withing 1-2 days).  Make sure to keep "MAKEMKV_KEY" to its default value to make sure the latest beta key is fetched automatically during the container start.

Link to comment
4 hours ago, Djoss said:

The current beta key is expiring.  We need to wait for the author to publish a new one (this is usually done withing 1-2 days).  Make sure to keep "MAKEMKV_KEY" to its default value to make sure the latest beta key is fetched automatically during the container start.

OKay cool, atm im using the makemkv rdp but I prefer your container instead.  Thanks for the heads up.

Link to comment

For some reason, this docker is not good friends with my BD copy of "The Imitation Game". Last time I tried, MakeMKV said there was 202 versions it had to save (it canceled that operation due to lack of space :P )

 

As far as I can understand Java should be part of this docker, so I'm not sure what I'm doing wrong since it can't handle the playlist obfuscation? 
Does anyone know?

Link to comment
On 11/30/2018 at 12:00 PM, Squazz said:

For some reason, this docker is not good friends with my BD copy of "The Imitation Game". Last time I tried, MakeMKV said there was 202 versions it had to save (it canceled that operation due to lack of space :P )

 

As far as I can understand Java should be part of this docker, so I'm not sure what I'm doing wrong since it can't handle the playlist obfuscation? 
Does anyone know?

The problem is that there is not a single Java version that works in all scenarios.  The version that would work with playlist obfuscation causes MakeMKV to crash with certain Blu-Ray protections.

I'm currently in discussion with the author of MakeMKV about these Java issues and hopefully they will be fixed.

  • Like 2
Link to comment
10 hours ago, Runtime24 said:

the only error I am getting is it is unable to execute ccextractor.

Thanks for reporting.  A new feature added in MakeMKV 1.14.0 (to extract closed captions and save them as text subtitles) requires this tool.  I will add it to the image.

  • Like 1
Link to comment
7 hours ago, Djoss said:

The problem is that there is not a single Java version that works in all scenarios.  The version that would work with playlist obfuscation causes MakeMKV to crash with certain Blu-Ray protections.

I'm currently in discussion with the author of MakeMKV about these Java issues and hopefully they will be fixed.

Noted, I'll but that BD aside and await an update for MakeMKV :)

 

7 hours ago, Djoss said:

Thanks for reporting.  A new feature added in MakeMKV 1.14.0 (to extract closed captions and save them as text subtitles) requires this tool.  I will add it to the image.

I didn't know this was a new feature that was coming. This potentially really big news! :)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.