[sip-comm-dev] video call crashes in libffmpeg (ubuntu, sonixj v4l2)


#1

Hi,

I'm experiencing crashes of sip-communicator in both ubuntu 9.10 and 10.4, when starting a video call, apparently it crashes in FFmpeg.avcodec_open. gdb doesn't find the symbol in libffmpeg.so
(at least not with "info symbol 0x20cc1f"). This is nightly build 3019. The cam is a speedlink, sonixj v4l2 driver, preview works, and this crash happens regardless whether I select civil:/dev/video0:0 or "USB camera" (/dev/video0) - whatever the difference is (if any).

What other info can I gather to debug?

Thanks!
Stefan

Current thread (0x09841000): JavaThread "JMF thread: com.sun.media.ProcessEngine@b02d64[ com.sun.media.ProcessEngine@b02d64 ] ( realizeThread)" daemon [_thread_in_native, id=32069, stack(0x070fc000,0x0714d000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000

Registers:
EAX=0x07280201, EBX=0x00000000, ECX=0x00000001, EDX=0x00000000
ESP=0x0714ba48, EBP=0x0714babc, ESI=0x09b44ef0, EDI=0x000001e0
EIP=0x019e7c1f, CR2=0x00000000, EFLAGS=0x00010202

Top of Stack: (sp=0x0714ba48)
0x0714ba48: 01a98624 01a064a0 00000000 0714bad8
0x0714ba58: 0714babc 0714bac4 0714bac0 000003f8
0x0714ba68: 00000003 00000029 002703d0 0714bad8
0x0714ba78: 00135494 b7890b08 002703a0 073c49c4
0x0714ba88: 00f28ff4 017e5c51 00000005 0714bad0
0x0714ba98: 00f1a326 b4b80690 b4b807a8 00000001
0x0714baa8: 00000005 00000000 00000005 017e3858
0x0714bab8: 002bd710 00000000 00000000 00000000

Instructions: (pc=0x019e7c1f)
0x019e7c0f: 90 53 49 89 f3 49 89 d2 49 89 c9 89 f8 0f a2 41
0x019e7c1f: 89 03 41 89 1a 41 89 09 41 89 10 5b c3 66 66 66

Stack: [0x070fc000,0x0714d000], sp=0x0714ba48, free space=13e0714b3f4k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libffmpeg.so+0x20cc1f]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j net.java.sip.communicator.impl.neomedia.codec.FFmpeg.avcodec_open(JJ)I+0
j net.java.sip.communicator.impl.neomedia.codec.video.h264.JNIEncoder.open()V+337
j com.sun.media.BasicFilterModule.doRealize()Z+11
j com.sun.media.PlaybackEngine.buildTrackFromGraph(Lcom/sun/media/BasicTrackControl;Lcom/sun/media/GraphNode;)Lcom/sun/media/GraphNode;+224
j com.sun.media.ProcessEngine$ProcGraphBuilder.buildTrackFromGraph(Lcom/sun/media/BasicTrackControl;Lcom/sun/media/GraphNode;)Lcom/sun/media/GraphNode;+9
j com.sun.media.ProcessEngine$ProcGraphBuilder.buildCustomGraph(Lcom/sun/media/ProcessEngine$ProcTControl;)Z+231
j com.sun.media.ProcessEngine$ProcGraphBuilder.buildGraph(Lcom/sun/media/BasicTrackControl;II)Z+47
j com.sun.media.ProcessEngine$ProcTControl.buildTrack(II)Z+46
j com.sun.media.PlaybackEngine.doRealize1()Z+111
j com.sun.media.ProcessEngine.doRealize()Z+6
j com.sun.media.RealizeWorkThread.process()Z+4
j com.sun.media.StateTransitionWorkThread.run()V+8
v ~StubRoutines::call_stub

···

----------------------
log:

opened v4l2 device

Found USB camera card with sonixj v4l2 driver

discover_inputs()

Found sources: 1

         0 - sonixj (2)

Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopping...

Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopped.

#

# A fatal error has been detected by the Java Runtime Environment:

#

# SIGSEGV (0xb) at pc=0x019e7c1f, pid=30703, tid=118803312

#

# JRE version: 6.0_18-b18

# Java VM: OpenJDK Client VM (16.0-b13 mixed mode, sharing linux-x86 )

# Derivative: IcedTea6 1.8.1

# Distribution: Ubuntu 9.10, package 6b18-1.8.1-0ubuntu1~9.10.1

# Problematic frame:

# C [libffmpeg.so+0x20cc1f]

#

# An error report file with more information is saved as:

# /usr/lib/sip-communicator/hs_err_pid30703.log

#

# If you would like to submit a bug report, please include

# instructions how to reproduce the bug and visit:

# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/

# The crash happened outside the Java Virtual Machine in native code.

# See problematic frame for where to report the bug.

#

Aborted

--------------- S Y S T E M ---------------

OS:Ubuntu 9.10 (karmic)
uname:Linux 2.6.31-22-generic #66-Ubuntu SMP Thu Sep 23 08:30:14 UTC 2010 i686
libc:glibc 2.10.1 NPTL 2.10.1
rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:1.58 1.57 1.44

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 14 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2, sse3

Memory: 4k page, physical 2060652k(64500k free), swap 2931852k(2869348k free)

vm_info: OpenJDK Client VM (16.0-b13) for linux-x86 JRE (1.6.0_18-b18), built on Jul 27 2010 11:37:17 by "buildd" with gcc 4.4.1

time: Tue Oct 19 17:07:27 2010
elapsed time: 6412 seconds

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi Stefan,

Just to know, I see you are using OpenJDK, is it also happen with JDK from SUN/Oracle ?

Regards,

···

--
Seb

Le 19/10/2010 17:33, Stefan Sayer a �crit :

Hi,

I'm experiencing crashes of sip-communicator in both ubuntu 9.10 and 10.4, when starting a video call, apparently it crashes in FFmpeg.avcodec_open. gdb doesn't find the symbol in libffmpeg.so
(at least not with "info symbol 0x20cc1f"). This is nightly build 3019. The cam is a speedlink, sonixj v4l2 driver, preview works, and this crash happens regardless whether I select civil:/dev/video0:0 or "USB camera" (/dev/video0) - whatever the difference is (if any).

What other info can I gather to debug?

Thanks!
Stefan

Current thread (0x09841000): JavaThread "JMF thread: com.sun.media.ProcessEngine@b02d64[ com.sun.media.ProcessEngine@b02d64 ] ( realizeThread)" daemon [_thread_in_native, id=32069, stack(0x070fc000,0x0714d000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000

Registers:
EAX=0x07280201, EBX=0x00000000, ECX=0x00000001, EDX=0x00000000
ESP=0x0714ba48, EBP=0x0714babc, ESI=0x09b44ef0, EDI=0x000001e0
EIP=0x019e7c1f, CR2=0x00000000, EFLAGS=0x00010202

Top of Stack: (sp=0x0714ba48)
0x0714ba48: 01a98624 01a064a0 00000000 0714bad8
0x0714ba58: 0714babc 0714bac4 0714bac0 000003f8
0x0714ba68: 00000003 00000029 002703d0 0714bad8
0x0714ba78: 00135494 b7890b08 002703a0 073c49c4
0x0714ba88: 00f28ff4 017e5c51 00000005 0714bad0
0x0714ba98: 00f1a326 b4b80690 b4b807a8 00000001
0x0714baa8: 00000005 00000000 00000005 017e3858
0x0714bab8: 002bd710 00000000 00000000 00000000

Instructions: (pc=0x019e7c1f)
0x019e7c0f: 90 53 49 89 f3 49 89 d2 49 89 c9 89 f8 0f a2 41
0x019e7c1f: 89 03 41 89 1a 41 89 09 41 89 10 5b c3 66 66 66

Stack: [0x070fc000,0x0714d000], sp=0x0714ba48, free space=13e0714b3f4k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libffmpeg.so+0x20cc1f]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j net.java.sip.communicator.impl.neomedia.codec.FFmpeg.avcodec_open(JJ)I+0
j net.java.sip.communicator.impl.neomedia.codec.video.h264.JNIEncoder.open()V+337

j com.sun.media.BasicFilterModule.doRealize()Z+11
j com.sun.media.PlaybackEngine.buildTrackFromGraph(Lcom/sun/media/BasicTrackControl;Lcom/sun/media/GraphNode;)Lcom/sun/media/GraphNode;+224

j com.sun.media.ProcessEngine$ProcGraphBuilder.buildTrackFromGraph(Lcom/sun/media/BasicTrackControl;Lcom/sun/media/GraphNode;)Lcom/sun/media/GraphNode;+9

j com.sun.media.ProcessEngine$ProcGraphBuilder.buildCustomGraph(Lcom/sun/media/ProcessEngine$ProcTControl;)Z+231

j com.sun.media.ProcessEngine$ProcGraphBuilder.buildGraph(Lcom/sun/media/BasicTrackControl;II)Z+47

j com.sun.media.ProcessEngine$ProcTControl.buildTrack(II)Z+46
j com.sun.media.PlaybackEngine.doRealize1()Z+111
j com.sun.media.ProcessEngine.doRealize()Z+6
j com.sun.media.RealizeWorkThread.process()Z+4
j com.sun.media.StateTransitionWorkThread.run()V+8
v ~StubRoutines::call_stub

----------------------
log:

opened v4l2 device

Found USB camera card with sonixj v4l2 driver

discover_inputs()

Found sources: 1

        0 - sonixj (2)

Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopping...

Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopped.

#

# A fatal error has been detected by the Java Runtime Environment:

#

# SIGSEGV (0xb) at pc=0x019e7c1f, pid=30703, tid=118803312

#

# JRE version: 6.0_18-b18

# Java VM: OpenJDK Client VM (16.0-b13 mixed mode, sharing linux-x86 )

# Derivative: IcedTea6 1.8.1

# Distribution: Ubuntu 9.10, package 6b18-1.8.1-0ubuntu1~9.10.1

# Problematic frame:

# C [libffmpeg.so+0x20cc1f]

#

# An error report file with more information is saved as:

# /usr/lib/sip-communicator/hs_err_pid30703.log

#

# If you would like to submit a bug report, please include

# instructions how to reproduce the bug and visit:

# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/

# The crash happened outside the Java Virtual Machine in native code.

# See problematic frame for where to report the bug.

#

Aborted

--------------- S Y S T E M ---------------

OS:Ubuntu 9.10 (karmic)
uname:Linux 2.6.31-22-generic #66-Ubuntu SMP Thu Sep 23 08:30:14 UTC 2010 i686
libc:glibc 2.10.1 NPTL 2.10.1
rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:1.58 1.57 1.44

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 14 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2, sse3

Memory: 4k page, physical 2060652k(64500k free), swap 2931852k(2869348k free)

vm_info: OpenJDK Client VM (16.0-b13) for linux-x86 JRE (1.6.0_18-b18), built on Jul 27 2010 11:37:17 by "buildd" with gcc 4.4.1

time: Tue Oct 19 17:07:27 2010
elapsed time: 6412 seconds

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Hi,

Sebastien Vincent wrote:

Hi Stefan,

Just to know, I see you are using OpenJDK, is it also happen with JDK from SUN/Oracle ?

yes, same effect, log looks like:

···

-------------
opened v4l2 device
Found USB camera card with sonixj v4l2 driver
discover_inputs()
Found sources: 1
         0 - sonixj (2)
warning: The VAD has been replaced by a hack pending a complete rewrite
opened v4l2 device
Found USB camera card with sonixj v4l2 driver
discover_inputs()
Found sources: 1
         0 - sonixj (2)
Assigning buffers
assignMBufs()
Adding buffers to dirver Queue
Turning streaming on
Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopping...
Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopped.
Capturing started
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb342fc1f, pid=743, tid=2968542064
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing linux-x86 )
# Problematic frame:
# C [libffmpeg.so+0x20cc1f]
#
# An error report file with more information is saved as:
# /usr/lib/sip-communicator/hs_err_pid743.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hi Stefan,

I have reproduce the problem on a 32-bit Linux machine. The ffmpeg library seems to be broken for this architecture. I will try to fix that.

Regards,

···

--
Seb

Le 19/10/2010 17:47, Stefan Sayer a �crit :

Hi,

Sebastien Vincent wrote:

Hi Stefan,

Just to know, I see you are using OpenJDK, is it also happen with JDK from SUN/Oracle ?

yes, same effect, log looks like:
-------------
opened v4l2 device
Found USB camera card with sonixj v4l2 driver
discover_inputs()
Found sources: 1
        0 - sonixj (2)
warning: The VAD has been replaced by a hack pending a complete rewrite
opened v4l2 device
Found USB camera card with sonixj v4l2 driver
discover_inputs()
Found sources: 1
        0 - sonixj (2)
Assigning buffers
assignMBufs()
Adding buffers to dirver Queue
Turning streaming on
Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopping...
Java_com_lti_civil_impl_jni_NativeCaptureStream_stop, stopped.
Capturing started
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb342fc1f, pid=743, tid=2968542064
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing linux-x86 )
# Problematic frame:
# C [libffmpeg.so+0x20cc1f]
#
# An error report file with more information is saved as:
# /usr/lib/sip-communicator/hs_err_pid743.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#5

Hi Seb,

Sebastien Vincent wrote:

Hi Stefan,

I have reproduce the problem on a 32-bit Linux machine. The ffmpeg library seems to be broken for this architecture. I will try to fix that.

thanks a lot! let me know if I can help with anything.

Stefan

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#6

It should be fixed in 7835.

Please test it and tell me if it works for you now.

···

--
Seb

Le 19/10/2010 18:33, Stefan Sayer a �crit :

Hi Seb,

Sebastien Vincent wrote:

Hi Stefan,

I have reproduce the problem on a 32-bit Linux machine. The ffmpeg library seems to be broken for this architecture. I will try to fix that.

thanks a lot! let me know if I can help with anything.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#7

Sebastien Vincent wrote:

It should be fixed in 7835.

Please test it and tell me if it works for you now.

now it works, great!

thanks a lot
Stefan

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net