-
Notifications
You must be signed in to change notification settings - Fork 4
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
Illegal instruction crash vlc 3.0.12 on Raspberry pi Zero W #42
Comments
VLC support had me run it under gdb yielding: code bt and [code] ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
The vlc debug log shows: Code: Select all |
@jc-kynesim Looks to be one for you. |
True. I decided to post here as well after I realized that vlc is likely not the only place that neon instructions would show up and crash something else on the Pi Zero and others with this CPU. My nightmare would be if they are hiding somewhere in the kernel waiting to trigger a panic. |
Kernel issues are unlikely - that is built per platform for the exact processor in use - we (afaik) ship a single VLC image for all platforms. I guess this case is fixable with run time capability testing but it does have the caveat that anything that is using the non-neon path is going to be very slow (on what is almost certainly a slow processor to start with). |
@jc-kynesim Is there a configuration in your current patch for armv6 acceleration support, or is this unsupported? Not sure if this is a packaging issue on my end or just an unsupported use case. In the past, I got around the issue with this patch https://github.com/RPi-Distro/vlc/blob/buster-rpt/debian/patches/armv6.patch but I guess it doesn't work anymore? |
Ah, looks like there's now an OpenBlendNeon function, but that check is only in OpenBlendMmal. Should be fixable on my end. |
Good oh! And thanks for that - I'll admit I wasn't really thinking that anyone would try and use a non-neon Pi for any video that required actually touching the pixels (or if I'm being really honest - any video at all). |
I am glad to hear this is fixable. Could you let me know when I can update my unit with the fixed binary from the repository? Is there a possibility that there are other common binaries out there that also include neon instructions that could crash on those systems with the same CPU as mine? I would think now would be the time to look for this. Note that cdg karaoke is low resolution, low frame rate video and works even on my Pi Zero W without problems. |
In case you are interested the data stream for CDG video is at 28,800bps and consists of 300x216 frames of 4 bit color. |
If you add 'untested' after 'main' in /etc/apt/sources.list.d/raspi.list and update, you should get a patched version. I wasn't able to test it myself since I couldn't reproduce the issue with the previous build when I briefly tried yesterday. |
I have added the untested option and updated to your new build. It appears to be working properly as expected with karaoke tracks. I am now trying to address the problem with window size and position. Given the small size of the CDG image I want to enlarge it. I can use a --zoom 2 successfully, but a --zoom 4 runs off the screen as the window position places the upper left corner in the same place the window without a zoom is placed. As you might expect full screen or non binary zoom factors are out of the question without the neon instructions. Thank you for your assistance in this matter. |
I assume you are using the mmal_vout device rather than X? If so then all scaling will be done in h/w and should have no impact. Having said that I will add the caveat that if you try to add filters then you will have a s/w path that will just stall prior to display. |
... having said that given that you are coming from a format that the h/w doesn't support natively (or at least I don't think it does) it is possible that vlc will "helpfully" try to scale it before display. What does happen if you add the --fullscreen flag? |
I've moved it from untested to main. You should remove |
Karaoke.zip My usual way to call vlc is: DISPLAY=:0 vlc -I cli -V x11 [media to be played] In that case of a karaoke track this would be the mp3 file of the pair. As noted above this results in a small video window centered over the desktop. I can add --zoom 2 or --zoom 3 before the -I cli to enlarge this, but it does result in lost frames. I attempted to get an idea of this by the stats command near the end of a track and found the following: no zoom - 8900 displayed, 250 list The losses, especially at 2x, are not very apparent, as the frames don't change much in general I have hopefully attached a zip with the track that lead me to discover the problem, in case you would like to do your own testing. Thank you again for your help with this problem. |
@XECDesign I'm finally getting round to fixing up these issues at my end. Any clue why your patch disables OpenBlendMmal? the only couple of bits of neon are blend & piccpy. Piccpy already has an "if neon" in the only place it is used and blend is only used by BlendNeon. |
It may be there either by mistake or because it was needed at some point. If it has been tested and works without the check in |
I don't actually have a Pi1/0 here to check against |
It appears the binaries you are creating are not compatible with the Raspberry Pi Zero W as they contain neon instructions. Please see forum thread here for details:
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=307312
The text was updated successfully, but these errors were encountered: