javalinuxraspberry-piwebcam-capturearchlinux-arm

Unable to get webcam image on Raspberry Pi (Arch Linux)


I am using Raspberry pi (Arch Linux) to get webcam image with webcam-capture (0.3.9) library with Java (1.8.0_06), but my application fails with the following stack trace:

11:18:42.578 [main] INFO  c.g.sarxos.webcam.WebcamDriverUtils - Searching driver com.github.sarxos.webcam.ds.openimaj.OpenImajDriver
11:18:42.585 [main] DEBUG c.g.sarxos.webcam.WebcamDriverUtils - Driver com.github.sarxos.webcam.ds.openimaj.OpenImajDriver not found
11:18:42.589 [main] INFO  c.g.sarxos.webcam.WebcamDriverUtils - Searching driver com.github.sarxos.webcam.ds.civil.LtiCivilDriver
11:18:42.595 [main] DEBUG c.g.sarxos.webcam.WebcamDriverUtils - Driver com.github.sarxos.webcam.ds.civil.LtiCivilDriver not found
11:18:42.598 [main] INFO  c.g.sarxos.webcam.WebcamDriverUtils - Searching driver com.github.sarxos.webcam.ds.jmf.JmfDriver
11:18:42.604 [main] DEBUG c.g.sarxos.webcam.WebcamDriverUtils - Driver com.github.sarxos.webcam.ds.jmf.JmfDriver not found
11:18:42.607 [main] INFO  com.github.sarxos.webcam.Webcam - Webcam driver has not been found, default one will be used!
11:18:42.659 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Searching devices
Java HotSpot(TM) Client VM warning: You have loaded library /tmp/BridJExtractedLibraries8835024590982118533/bridj.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
getLibrarySymbols has 141 symbols
11:18:46.381 [webcam-discovery-service] DEBUG c.g.s.w.d.b.WebcamDefaultDriver - Found device HP Webcam GJ502AA /dev/video0
11:18:46.439 [main] DEBUG com.github.sarxos.webcam.Webcam - Setting new resolution 320x240
11:18:46.533 [atomic-processor] INFO  c.g.s.webcam.ds.cgt.WebcamOpenTask - Opening webcam HP Webcam GJ502AA /dev/video0
11:18:46.536 [atomic-processor] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Opening webcam device HP Webcam GJ502AA /dev/video0
11:18:46.540 [atomic-processor] DEBUG c.g.s.w.d.b.WebcamDefaultDevice - Webcam device /dev/video0 starting session, size java.awt.Dimension[width=320,height=240]
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xb6e37204, pid=2297, tid=2901406816
#
# JRE version: Java(TM) SE Runtime Environment (8.0_06-b23) (build 1.8.0_06-b23)
# Java VM: Java HotSpot(TM) Client VM (25.6-b23 mixed mode linux-arm )
# Problematic frame:
# C  [libc.so.6+0x79204]  strcpy+0x14
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /root/Downloads/motion-capture/hs_err_pid2297.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
Aborted

http://pastebin.com/FB7Z1gvQ

The JVM heap log referred in the stack trace(/root/Downloads/motion-capture/hs_err_pid2297.log) above are here:

http://pastebin.com/pFNYRk81

Please help.


Solution

  • Since I was not able to solve the problem with webcam-capture (0.3.9) library, I dumped it and used xuggler by using the sample code defined here:

    https://github.com/artclarke/xuggle-xuggler/blob/master/src/com/xuggle/xuggler/demos/DisplayWebcamVideo.java

    To compile xuggler for raspberry-pi, follow:

    Guide to compile Xuggler for Raspberry Pi