ggarra13 / mrv2

Professional player and review tool for vfx, animation and computer graphics.
https://mrv2.sourceforge.io
BSD 3-Clause "New" or "Revised" License
190 stars 13 forks source link

Playlist Failing on macOS arm64 M3 #238

Open piotrnikov opened 3 months ago

piotrnikov commented 3 months ago

Describe the bug I'm not sure how the Playlist panel is supposed to work, but whatever I do it seems to crash a lot.

To Reproduce Steps to reproduce the behavior:

  1. Drop multiple clips in in mrv2 window.
  2. Activate Files & Playlist in Panels Menu
  3. Drag & Drop any files/clips from the Files panel to the Drop Here to create a playlist area.
  4. Crash.

Expected behavior I would assume it creates a Playlist where Clips are played one after the other.

Desktop (please complete the following information): MacOs 14.5 M3 Max mrv2 v1.1.6

ggarra13 commented 3 months ago

Some questions:

  1. macOS normally when it crashes will popup a crashing window with a stack trace (showing the functions that crashed and system information). If you get that, can you attach it here? That would be super useful.
  2. Does it crash on the first clip you drop or when adding more clips?
  3. What's the resolution of the clips? Mixed resolutions?
  4. FPS of the clips?
  5. Do you have the timeline viewport showing thumbnails (ie. in Edit mode)?
  6. Are the Panels docked or floating as Windows? Can you try them without being docked?
  7. As a last step, can you try the latest beta from: https://sourceforge.net/projects/mrv2/files/beta/ to see if the issue is still present?
piotrnikov commented 3 months ago

Sorry, I forgot to attach the crash log! CrashLog.txt As for your questions:

  1. It crashes on the first clip.
  2. I tried a variety of resolutions. All crash.
  3. 24fps
  4. No.
  5. I tried docked and floating. No difference.
  6. Tried the latest beta. Same outcome
ggarra13 commented 3 months ago

I cannot reproduce the crash, but I have a slower machine. Thanks to the crash logs I have two ideas where it could be failing. Download the new beta from:

https://sourceforge.net/projects/mrv2/files/beta/

This beta will not fix anything, but more than likely, it will not crash. It should print out to the Log console an error message (which could be long). Send me any log message you get. If, however, it still crashes, let me know too, as it is another thing I know that could be failing.

piotrnikov commented 3 months ago

It no longer crashes as you foresaw. I tested this with a Gif but since the crash was happening on a mp4, I assume the format is irrelevant. Here is the log: Log.txt

ggarra13 commented 3 months ago

Yes, the format should be irrelevant. The Log you gave me points to a bug in the OpenTimelineIO library I am using. I am using a custom version of it, not the latest release one (albeit it is not clear to me why it would work on all platforms except on macOS silicon). I am now compilig a version with the latest OTIO v0.16.0. I'll go to lunch and afterwards, it should be available on the above sourceforge beta site.

piotrnikov commented 3 months ago

Ok, I'll keep you posted. Thanks!!!

ggarra13 commented 3 months ago

It should be up on the sourceforge beta site:

https://sourceforge.net/projects/mrv2/files/beta/

Let me know if it still reports the same error and if it does, I am afraid I will have to report it to the OpenTimelineIO team at Pixar and create a small sample.

piotrnikov commented 3 months ago

Hello again! It doesn't seem to be working. As I don't know how this panel works (Playlist), I did a screen capture for you to see if what is happening onscreen is normal.

https://github.com/ggarra13/mrv2/assets/28474540/b9b68988-642a-434e-8815-dc36ac9bbbb3

Log.txt

ggarra13 commented 3 months ago

As I don't know how this panel works (Playlist), I did a screen capture for you to see if what is happening onscreen is normal.

You are using it perfectly. It is indeed a bug with OpenTimelineIO. To report it properly, we can do two final tests. First, the easy test.

Can you download from github the latest:

mrv2-Darwin-v1.1.7-amd64.dmg (ie not arm64!)

and run it under Rossetta2? See if that exhibits the same log error.

If it works, it is a problem with the M1 compiler on macOS that creates broken code for M3. If it does not work, then it is an M3 chip issue, as that -amd64 version works just fine for me on Intel boxes.

piotrnikov commented 3 months ago

mrv2-Darwin-v1.1.7-amd64.dmg (ie not arm64!) and run it under Rossetta2? See if that exhibits the same log error. If it works, it is a problem with the M1 compiler on macOS that creates broken code for M3. If it does not work, then it is an M3 chip issue, as that -amd64 version works just fine for me on Intel boxes.

It works!! No crash! And the feature (chaining clips) works as intended....

ggarra13 commented 3 months ago

I've reported the bug to the OpenTimelineIO guys. You can follow the status here:

https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1750

ggarra13 commented 3 months ago

@piotrnikov I know you got it working with amd64, but I recompiled a new version of mrv2 for arm64 with further debugging information from OpenTimelineIO. I'm hoping we can get rid of the bug before I release v1.2.0. If you feel like downloading this beta and trying it and sending me the output you get when it fails, it would help a lot:

https://sourceforge.net/projects/mrv2/files/beta/mrv2-beta-Darwin-arm64.dmg/download

piotrnikov commented 3 months ago

Hello! I just tried and got the attached log file. Log.txt I hope it helps :)