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

raspberry crach #20

Open
yves2 opened this issue Oct 5, 2017 · 7 comments
Open

raspberry crach #20

yves2 opened this issue Oct 5, 2017 · 7 comments

Comments

@yves2
Copy link

yves2 commented Oct 5, 2017

i tried to open a h264 video with raspbian on à rpi3
xjadeo crash after indexing at the beginning of reading
is there some way to use xjadeo on raspberry ?

@x42
Copy link
Owner

x42 commented Oct 5, 2017

In principles yes, although a RPi may not be powerful enough for smooth operation. As for the crash at hand a backtrace would be useful to understand what causes the crash.

@kaliste
Copy link

kaliste commented May 20, 2018

Hi folks.

I have the same problem on my Raspberry 3 with Jack audio opened (or not, it is the same issue)
When i launch a file on xjadeo it crashes with the message "bus issue" (in french "erreur de bus"). Open GL seems not to be sync as you can see below :

Thx for your help.

xjadeo -d /home/pi/Desktop/medias
enabled drag-DROP support.
openGL VBlank not synced
selected MIDI driver: JACK-MIDI
using JACK-transport as sync source.
selected MIDI driver: PORTMIDI
Midi Input opened.
frame rate: 30
duration in seconds: 80.5
total frames: 2415
file start offset: 0 video-frames
image size: 1280x720 px
display size: 1280x720 px
PTS: Best effort.
Erreur du bus

@x42
Copy link
Owner

x42 commented May 20, 2018

Can you get a backtrace?

I don't know if raspian offers an easy way to do that. The standard way would be to compile xjadeo (or get a built with debug-symbols), then run it inside a debugger: gdb --args xjadeo -J /path/to/video.mp4 and when it crashes thread apply all bt.

@x42
Copy link
Owner

x42 commented May 20, 2018

PS. "bus error" could indicate that it's a memory alignment issue or that the binary was compiled with optimizations not suitable for the target system. but that's just a guess. a backtrace would tell for sure

@kaliste
Copy link

kaliste commented Jun 11, 2018

Sorry it is too complicated for my skill.
I will try another way to soluce my problem.

Thx for your help.

@danielblues
Copy link

It's a "memory alignment issue".

The xjadeo master did not compile with the distro libs, so I've compiled it with ffmpeg git master and still got this:

dmesg

[16269.180718] Alignment trap: xjadeo (3041) PC=0x00a7a1c0 Instr=0xf402602d Address=0x6bfd3008 FSR 0x801
[16269.180732] Alignment trap: not handling instruction f402602d at [<00a7a1c0>]
[16269.180737] 8<--- cut here ---
[16269.180749] Unhandled fault: alignment exception (0x801) at 0x6bfd3008
[16269.180763] pgd = 57561fcb
[16269.180772] [6bfd3008] *pgd=0301b835, *pte=060b775f, *ppte=060b7c7f

Running "thread apply all bt", got this

(gdb) run
Starting program: /home/pi/Documents/Xjadeo/xjadeo/src/xjadeo/xjadeo -J /home/pi/Videos/PinkFloyd-ComfortablyNumb.mkv
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
no TTF font found. OSD will not be available until you set one.
enabled drop-frame-timecode (use -n to override).
frame rate: 29.97
duration in seconds: 465.131
total frames: 13939
file start offset: 0 video-frames
image size: 720x480 px
display size: 720x480 px
[New Thread 0x764bb440 (LWP 771)]
PTS: Best effort.
[Thread 0x764bb440 (LWP 771) exited]
[New Thread 0x707ff440 (LWP 772)]
[New Thread 0x6fffe440 (LWP 773)]
[New Thread 0x6f5ff440 (LWP 774)]
[New Thread 0x6edfe440 (LWP 775)]
[New Thread 0x6e3ff440 (LWP 776)]
[New Thread 0x6d9ff440 (LWP 777)]
[New Thread 0x6cfff440 (LWP 778)]
[New Thread 0x6c5ff440 (LWP 781)]
enabled drag-DROP support.
openGL VBlank not synced
selected MIDI driver: JACK-MIDI
Warning: There is no Initial sync-source, and no remote-control enbled to
change the sync source. Do not use '-J' option (unless you're testing).

Thread 1 "xjadeo" received signal SIGBUS, Bus error.
0x00a7a1c4 in ff_yuv420p_to_bgra_neon () at libswscale/arm/yuv2rgb_neon.S:279
279 declare_rgb_funcs yuv420p
(gdb) thread apply all bt

Thread 10 (Thread 0x6c5ff440 (LWP 781)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d2f10)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d2ee8)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d2ee8, mutex=0x0) at pthread_cond_wait.c:655
Backtrace stopped: Cannot access memory at address 0x66f7f6f8
Thread 9 (Thread 0x6cfff440 (LWP 778)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d2f10)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d2ee8)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d2ee8, mutex=0x0) at pthread_cond_wait.c:655
Backtrace stopped: Cannot access memory at address 0x66f7f6f8
Thread 8 (Thread 0x6d9ff440 (LWP 777)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d2f10)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
--Type for more, q to quit, c to continue without paging--
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d2ee8)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d2ee8, mutex=0x0) at pthread_cond_wait.c:655
Backtrace stopped: Cannot access memory at address 0x66f7f6f8
Thread 7 (Thread 0x6e3ff440 (LWP 776)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d2f10)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d2ee8)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d2ee8, mutex=0x0) at pthread_cond_wait.c:655
Backtrace stopped: Cannot access memory at address 0x66f7f6f8
Thread 6 (Thread 0x6edfe440 (LWP 775)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d1f58)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d1f30)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d1f30, mutex=0x0) at pthread_cond_wait.c:655
#3 0x749142e8 in ?? () from /usr/lib/arm-linux-gnueabihf/dri/swrast_dri.so
--Type for more, q to quit, c to continue without paging--
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 5 (Thread 0x6f5ff440 (LWP 774)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d1e50)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d1e28)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d1e28, mutex=0x0) at pthread_cond_wait.c:655
#3 0x749142e8 in ?? () from /usr/lib/arm-linux-gnueabihf/dri/swrast_dri.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 4 (Thread 0x6fffe440 (LWP 773)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d1d48)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d1d20)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d1d20, mutex=0x0) at pthread_cond_wait.c:655
#3 0x749142e8 in ?? () from /usr/lib/arm-linux-gnueabihf/dri/swrast_dri.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
--Type for more, q to quit, c to continue without paging--
Thread 3 (Thread 0x707ff440 (LWP 772)):
#0 futex_wait_cancelable (private=0, expected=0, futex_word=0x17d1c40)
at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x0, cond=0x17d1c18)
at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x17d1c18, mutex=0x0) at pthread_cond_wait.c:655
#3 0x749142e8 in ?? () from /usr/lib/arm-linux-gnueabihf/dri/swrast_dri.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 1 (Thread 0x76ff3a20 (LWP 768)):
#0 0x00a7a1c4 in ff_yuv420p_to_bgra_neon ()
at libswscale/arm/yuv2rgb_neon.S:279
#1 0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Looks like an ffmpeg issue, but I don't have much experience with this, can you give a help? (thank you (and for the usefull software))

Thread 1 "xjadeo" received signal SIGBUS, Bus error.
0x00a7a1c4 in ff_yuv420p_to_bgra_neon () at libswscale/arm/yuv2rgb_neon.S:279

@danielblues
Copy link

Compiling ffmpeg with --disable-neon fixed the issue.

./configure --extra-ldflags="-latomic" --arch=armel --target-os=linux --enable-gpl --enable-omx --enable-omx-rpi --enable-nonfree --disable-neon

libswscale/arm/yuv2rgb_neon.S is assembler code... brrr.

-latomic was also missing when linking xjadeo

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

4 participants