marranxo
Posts: 14
Joined: Thu Dec 03, 2015 2:16 pm

bcm_host_init() stuck & vcgencmd not working

Fri Aug 24, 2018 10:20 am

Hi,

I'm developing a c++ program that connects to several mjpg streams via rtsp/http, decodes the streams, does some processing with them and then reencodes them as mjpg and emits them via rtsp/http. To achieve that I'm using the raspberry encoder with OMX API and ilclient library.

Everything works fine until an unexpected SIGSEGV arrives -sometimes in a few hours (8h+) and sometimes in a few days (3-4d+)-. I'm trying to find the segment violation with gdb and when the segment violation ocurred gdb pointed to a vchiq thread. After examining the threads and the backtrace without getting any usefull information for my knowdeledge I tryed to run a new instance of the program with gdb (after killing the previous one) but the program wasn't running as expected (it was sleeping indeed) so I sent a sigint to see where it was stuck and found that it was stuck on:

Code: Select all

 bcm_host_init() 
    vc_gencmd() 
       vc_gencmd_read_response()
          __new_sem_wait_slow()
             do_futex_wait()
                  futex_abstimed_wait_cancelable() 
bcm_host_init() is the first line on my program's main! I tryed to run vcgencdmd while my program is stuck and it's also unresponsive (I asume vcgencmd is stuck in the same point as my program), "vcgencmd version" isn't event working.

Can anyone give me some light to understand what's happening here?

Thanks and sorry for my terrible english.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5668
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: bcm_host_init() stuck & vcgencmd not working

Fri Aug 24, 2018 12:20 pm

You've either crashed the GPU so that it isn't responding, or you've exhausted the resources for servicing VCHIQ requests.
bcm_host_init should be called once per application, and IIRC will support up to 8 applications simultaneously.

"sudo vcdbg log msg" may give some indication as to what has happened.
Additionally adding "start_debug=1" to /boot/config.txt will mean that "sudo vcdbg log assert" will log dump any asserts that have fired on the GPU.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

marranxo
Posts: 14
Joined: Thu Dec 03, 2015 2:16 pm

Re: bcm_host_init() stuck & vcgencmd not working

Fri Aug 24, 2018 1:20 pm

I call bcm_host_init once per application and I'm running a single application instance (the applications itself handles several streams). If I perform a query with vcgencmd it may consume an additional instance for a few milliseconds, but not close to 8 programs fighting for VCHIQ requests. The CPU may have crashed but it shouldn't right? The program is not even executed with elevated privileges.

On the other hand I've set start_debug=1 on /boot/config as you sugested to monitor the asserts fired on the GPU and I've read the log provided by vcdbg but I just found a reference to vchiq and it just looks like info:

001475.559: brfs: File read: /mfs/sd/config.txt
001476.491: brfs: File read: 1624 bytes
001497.905: HDMI:EDID version 1.3, 1 extensions, screen size 88x50 cm
001498.014: HDMI:EDID features - videodef 0xa0 !standby !suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
001498.134: HDMI:EDID found preferred CEA detail timing format: 1920x1080p @ 60 Hz (16)
001498.218: HDMI:EDID found DMT format: code 4, 640x480p @ 60 Hz in established timing I/II
001498.305: HDMI:EDID found DMT format: code 9, 800x600p @ 60 Hz in established timing I/II
001498.384: HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz in established timing I/II
001498.525: HDMI:EDID standard timings block x 8: 0x6140 A940 0101 0101 0101 0101 0101 0101
001498.615: HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz (4:3) in standard timing 0
001498.710: HDMI:EDID found DMT format: code 51, 1600x1200p @ 60 Hz (4:3) in standard timing 1
001511.766: HDMI:EDID parsing v3 CEA extension 0
001511.846: HDMI:EDID monitor support - underscan IT formats:yes, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:1
001511.940: HDMI:EDID found CEA detail timing format: 1280x720p @ 60 Hz (4)
001512.024: HDMI:EDID found CEA format: code 16, 1920x1080p @ 60Hz
001512.098: HDMI:EDID found CEA format: code 31, 1920x1080p @ 50Hz
001512.176: HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz (native)
001512.242: HDMI:EDID does not understand CEA format code 0
001512.306: HDMI:EDID does not understand CEA format code 0
001512.365: HDMI:EDID does not understand CEA format code 0
001512.441: HDMI:EDID found CEA format: code 2, 720x480p @ 60Hz
001512.512: HDMI:EDID found CEA format: code 3, 720x480p @ 60Hz
001512.574: HDMI:EDID does not understand CEA format code 0
001512.635: HDMI:EDID does not understand CEA format code 0
001512.699: HDMI:EDID does not understand CEA format code 0
001512.790: HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48 kHz, sample size: 16|20|24 bits
001512.859: HDMI:EDID found Video Capability DB length 2
001512.928: HDMI:EDID video capability: CE:3 IT:3 PT:0 QS:0
001512.988: HDMI:EDID found HDMI VSDB length 7
001513.050: HDMI:EDID HDMI VSDB has physical address 2.0.0.0
001513.110: HDMI:EDID HDMI VSDB supports AI:yes, dual link DVI:no
001513.180: HDMI:EDID HDMI VSDB deep colour support - 48-bit:no 36-bit:no 30-bit:no DC_yuv444:no
001513.247: HDMI:EDID HDMI VSDB max TMDS clock 225 MHz
001513.306: HDMI:EDID HDMI VSDB has no latency information
001513.392: HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
001513.584: HDMI:EDID preferred mode remained as CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz
001530.745: brfs: File read: /mfs/sd/config.txt
001531.554: HDMI:Setting property pixel encoding to Default
001531.619: HDMI:Setting property pixel clock type to PAL
001531.676: HDMI:Setting property content type flag to No data
001531.740: HDMI:Setting property fuzzy format match to enabled
001531.898: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
001726.687: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
001728.002: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
001728.346: hdmi: HDMI:>>>>>>>>>>>>>Rx sensed, reading EDID<<<<<<<<<<<<<
001740.441: hdmi: HDMI:EDID version 1.3, 1 extensions, screen size 88x50 cm
001740.550: hdmi: HDMI:EDID features - videodef 0xa0 !standby !suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
001740.675: hdmi: HDMI:EDID found preferred CEA detail timing format: 1920x1080p @ 60 Hz (16)
001740.759: hdmi: HDMI:EDID found DMT format: code 4, 640x480p @ 60 Hz in established timing I/II
001740.850: hdmi: HDMI:EDID found DMT format: code 9, 800x600p @ 60 Hz in established timing I/II
001740.937: hdmi: HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz in established timing I/II
001741.081: hdmi: HDMI:EDID standard timings block x 8: 0x6140 A940 0101 0101 0101 0101 0101 0101
001741.179: hdmi: HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz (4:3) in standard timing 0
001741.277: hdmi: HDMI:EDID found DMT format: code 51, 1600x1200p @ 60 Hz (4:3) in standard timing 1
001754.338: hdmi: HDMI:EDID parsing v3 CEA extension 0
001754.423: hdmi: HDMI:EDID monitor support - underscan IT formats:yes, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:1
001754.521: hdmi: HDMI:EDID found CEA detail timing format: 1280x720p @ 60 Hz (4)
001754.609: hdmi: HDMI:EDID found CEA format: code 16, 1920x1080p @ 60Hz
001754.685: hdmi: HDMI:EDID found CEA format: code 31, 1920x1080p @ 50Hz
001754.767: hdmi: HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz (native)
001754.840: hdmi: HDMI:EDID does not understand CEA format code 0
001754.908: hdmi: HDMI:EDID does not understand CEA format code 0
001754.973: hdmi: HDMI:EDID does not understand CEA format code 0
001755.053: hdmi: HDMI:EDID found CEA format: code 2, 720x480p @ 60Hz
001755.126: hdmi: HDMI:EDID found CEA format: code 3, 720x480p @ 60Hz
001755.192: hdmi: HDMI:EDID does not understand CEA format code 0
001755.254: hdmi: HDMI:EDID does not understand CEA format code 0
001755.323: hdmi: HDMI:EDID does not understand CEA format code 0
001755.419: hdmi: HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48 kHz, sample size: 16|20|24 bits
001755.493: hdmi: HDMI:EDID found Video Capability DB length 2
001755.566: hdmi: HDMI:EDID video capability: CE:3 IT:3 PT:0 QS:0
001755.631: hdmi: HDMI:EDID found HDMI VSDB length 7
001755.698: hdmi: HDMI:EDID HDMI VSDB has physical address 2.0.0.0
001755.763: hdmi: HDMI:EDID HDMI VSDB supports AI:yes, dual link DVI:no
001755.834: hdmi: HDMI:EDID HDMI VSDB deep colour support - 48-bit:no 36-bit:no 30-bit:no DC_yuv444:no
001755.906: hdmi: HDMI:EDID HDMI VSDB max TMDS clock 225 MHz
001755.968: hdmi: HDMI:EDID HDMI VSDB has no latency information
001756.059: hdmi: HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
001756.255: hdmi: HDMI:EDID preferred mode remained as CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz
001756.327: hdmi: HDMI: hotplug attached with HDMI support
001756.402: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
001758.856: hdmi: HDMI: power_on to CEA mode 1080p60
001762.078: hdmi: HDMI: Action callback added to queue to happen at frame 2
001762.146: hdmi: HDMI: Action stop_3d_mode added to queue to happen at frame 2
001762.210: hdmi: HDMI: Action unmute added to queue to happen at frame 3
001762.280: hdmi: HDMI: Action cec_init added to queue to happen at frame 3
001812.278: *** Restart logging
001812.345: brfs: File read: 1624 bytes
001816.392: brfs: File read: /mfs/sd/cmdline.txt
001816.500: Read command line from file 'cmdline.txt':
001816.568: 'dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=926919f9-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles'
001816.904: brfs: File read: 187 bytes
002155.240: brfs: File read: /mfs/sd/kernel7.img
002155.309: Loading 'kernel7.img' to 0x8000 size 0x4b31f0
002158.986: No kernel trailer - assuming DT-capable
002159.073: brfs: File read: 4927984 bytes
002162.544: brfs: File read: /mfs/sd/bcm2710-rpi-3-b.dtb
002162.612: Loading 'bcm2710-rpi-3-b.dtb' to 0x4bb1f0 size 0x5f26
002297.553: brfs: File read: 24358 bytes
002302.779: brfs: File read: /mfs/sd/config.txt
002303.315: dtparam: i2c_arm=on
002319.251: dtparam: spi=on
002333.517: dtparam: audio=on
003306.275: gpioman: gpioman_get_pin_num: pin EMMC_ENABLE not defined
003413.139: Device tree loaded to 0x2eff9c00 (size 0x6361)
003415.217: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
004602.055: vchiq_core: vchiq_init_state: slot_zero = 0xf7980000, is_master = 1
004606.727: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
004612.436: TV service:host side not connected, dropping notification 0x00000002, 0x00000001, 0x00000010
2128249.346: hdmi: HDMI: hotplug deassert
2128249.408: hdmi: HDMI: HDMI is currently on
2128249.466: hdmi: HDMI: changing mode to unplugged
2128249.556: TV service:host side not connected, dropping notification 0x00000001, 0x00000002, 0x00000000
642908.062: brfs: File read: 1624 bytes

I hope to find a solution with the extra information you provided me. Thanks a lot.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5668
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: bcm_host_init() stuck & vcgencmd not working

Fri Aug 24, 2018 1:45 pm

Your handling of bcm_host_init and VCHIQ sounds correct.
Linux privileges mean nothing in the GPU code - if you can access the GPU you can get services from it.
It shouldn't crash, and has generally been coded very defensively, but there are always bugs lurking.

I note you're using MJPEG. That code has only ever been shipped on the Pi so is probably the least tested.
The JPEG hardware block can't switch between streams mid-frame, so if one of your streams sends a partial frame and then halts then it may well cause grief. Are you breaking the incoming mjpeg stream into frames and adding the OMX_BUFFERFLAG_ENDOFFRAME flag when you pass them to the decoder?

Nothing in that log is at all useful - it's all standard informational stuff. The normal nasty is to find a "vcos_abort" line in the logs - that means the GPU has hit something bad enough that it has deliberately locked a thread, eg memory corruption.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

marranxo
Posts: 14
Joined: Thu Dec 03, 2015 2:16 pm

Re: bcm_host_init() stuck & vcgencmd not working

Fri Aug 24, 2018 3:04 pm

Yes I'm using MJPEG but I'm demuxing the rtsp/http streams in jpeg frames and sending to the image_decode component one at time. I'm also using a resizer component tunneled to the image_decode component to convert from yuv to rgba.

No, I don't send any partial frame to the components. When handling rtsp transport I allways wait until received the marker bit in the RTP packet as stablished in rfc2435 (I also do sanity checks of rtp/jpeg/restark markers headers) and in http transport I trust content-length of each mime/multipart to build a complete frame, then when I have received a full jpg frame I pass it to the image_decode module that I've encapsualted in a class. Again yes, I request an input buffer from the image_decode component, fill it up to nAllocLen and set the OMX_BUFFERFLAG_EOS in the last buffer sent to the component. Then I wait for port settings change, if it triggers I handle it, and then wait for the EOS flag on the resize output component.

My program is working simulaneously with 2 streams at 20-30 fps and it works fine until it crashes with SIGSEGV. That usually happens in a few days, but as I said before sometimes in a bunch of hours. This is so strange... if it were a bug in my code it should crash long before due the number of samples. I'm missing something in the OMX behaivour that I hope to find with the tips you provided me. I'm also monitoring the program with htop to see if there's something wrong with memory (avg ~3%) or cpu (avg ~ 25%) and it seems stable.

Also I've just upgraded all my raspberrys from 4.09(?) to 4.14 (I've three rasp3 b and one rasp 2b).

Thanks a lot for your help.

marranxo
Posts: 14
Joined: Thu Dec 03, 2015 2:16 pm

Re: bcm_host_init() stuck & vcgencmd not working

Thu Aug 30, 2018 2:16 pm

It happened again after 2 days of running uninterrupted.

I got a SIGSEGV in a VC thread (VCHIQ completion), that blocked again any call to bcm_host_init and vcgencmd until system restart.

Here I got some info.

I'm running 6 different instances of ilclient (it shouldn't mater as each instance is only a sem and a queue):
  • 2x image_decoder+resizer tunneled
  • 2x image_encode
  • 2x video_encode

Code: Select all

Thread 0x76747450 (LWP 3375) "VCHIQ completio" 0x76f260f0 in completion_thread () from /opt/vc/lib/libvchiq_arm.so

(gdb) bt
#0  0x76f260f0 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
#1  0x76f3ccc4 in vcos_thread_entry (arg=0x76f39318 <vchiq_instance+16>) at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#2  0x76f80fc4 in start_thread (arg=0x76747450) at pthread_create.c:335
#3  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76 from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

(gdb) f 0
#0  0x76f260f0 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
(gdb) info locals
No symbol table info available.
(gdb) info args
No symbol table info available.
(gdb) f 1
#1  0x76f3ccc4 in vcos_thread_entry (arg=0x76f39318 <vchiq_instance+16>) at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
144     /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c: No existe el fichero o el directorio.
(gdb) info locals
ret = <optimized out>
thread = 0x76f39318 <vchiq_instance+16>
(gdb) info args
arg = 0x76f39318 <vchiq_instance+16>
(gdb) f 2
#2  0x76f80fc4 in start_thread (arg=0x76747450) at pthread_create.c:335
335     pthread_create.c: No existe el fichero o el directorio.
(gdb) info args
arg = 0x76747450
(gdb) info locals
pd = 0x76747450
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {1460472741, 1468099177, 1987343440, 2130694140, 0, 338, 2130694140, 4096, 1, 1987342220, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0,
      0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"

I also set start_debug=1 in /boot/config.txt but vcdbg log msg/assert doesn't give any usefull information:

Code: Select all

001831.527: hdmi: HDMI:EDID error reading EDID block 0 attempt 7
001832.829: hdmi: HDMI:EDID error reading EDID block 0 attempt 8
001834.130: hdmi: HDMI:EDID error reading EDID block 0 attempt 9
001835.194: hdmi: HDMI:EDID giving up on reading EDID block 0
001835.262: hdmi: HDMI: No lookup table for resolution group 0
001835.325: hdmi: HDMI: hotplug attached with DVI support
001835.400: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
001835.735: hdmi: HDMI:EDID error reading EDID block 0 attempt 0
001837.048: hdmi: HDMI:EDID error reading EDID block 0 attempt 1
001838.355: hdmi: HDMI:EDID error reading EDID block 0 attempt 2
001839.662: hdmi: HDMI:EDID error reading EDID block 0 attempt 3
001840.969: hdmi: HDMI:EDID error reading EDID block 0 attempt 4
001842.276: hdmi: HDMI:EDID error reading EDID block 0 attempt 5
001843.584: hdmi: HDMI:EDID error reading EDID block 0 attempt 6
001844.892: hdmi: HDMI:EDID error reading EDID block 0 attempt 7
001846.199: hdmi: HDMI:EDID error reading EDID block 0 attempt 8
001847.506: hdmi: HDMI:EDID error reading EDID block 0 attempt 9
001848.576: hdmi: HDMI:EDID giving up on reading EDID block 0
001848.969: hdmi: HDMI: hotplug deassert
001849.021: hdmi: HDMI: HDMI is currently off
001849.071: hdmi: HDMI: changing mode to unplugged
001849.137: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
001849.891: *** Restart logging
001849.956: brfs: File read: 1667 bytes
001854.150: brfs: File read: /mfs/sd/cmdline.txt
001854.253: Read command line from file 'cmdline.txt':
001854.315: 'dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=926919f9-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles'
001854.655: brfs: File read: 187 bytes
002195.955: brfs: File read: /mfs/sd/kernel7.img
002196.017: Loading 'kernel7.img' to 0x8000 size 0x4b40e8
002200.423: No kernel trailer - assuming DT-capable
002200.511: brfs: File read: 4931816 bytes
002205.221: brfs: File read: /mfs/sd/bcm2710-rpi-3-b.dtb
002205.286: Loading 'bcm2710-rpi-3-b.dtb' to 0x4bc0e8 size 0x627f
002344.449: brfs: File read: 25215 bytes
002349.354: brfs: File read: /mfs/sd/config.txt
002349.896: dtparam: i2c_arm=on
002366.814: dtparam: spi=on
002381.504: dtparam: audio=on
003370.052: gpioman: gpioman_get_pin_num: pin EMMC_ENABLE not defined
003480.471: Device tree loaded to 0x2eff9900 (size 0x66ba)
003482.730: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
004600.467: vchiq_core: vchiq_init_state: slot_zero = 0xf7980000, is_master = 1
004604.661: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
083179.537: brfs: File read: 1667 bytes

Code: Select all

001582.162: assert( source ) failed; ../../../../../middleware/confzilla/cp_front_fdt.c::cp_front_fdt_load_builtin line 115 rev 31e0613
vcdbg_ctx_get_dump_stack: dump_stack failed
----------------
Edit: now I've run vcgencmd set_logging level=-1 and usefull debug information seems to be written into the msg log. Now I need another crash to get the asserts/dbg info before crash. Do I have to set logging manually after each restart?

marranxo
Posts: 14
Joined: Thu Dec 03, 2015 2:16 pm

Re: bcm_host_init() stuck & vcgencmd not working

Mon Sep 03, 2018 8:42 am

A new crash on the same place. SIGSEGV at VCHIQ completio

List of threads at crash:

Code: Select all

1    Thread 0x76ff4fa0 (LWP 750) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
* 2    Thread 0x76747450 (LWP 753) "VCHIQ completio" 0x76f260f0 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
  3    Thread 0x75dff450 (LWP 754) "HDispmanx Notif" 0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, 
    futex_word=0x76f796e8 <dispmanx_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  4    Thread 0x755ff450 (LWP 755) "HTV Notify" 0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, 
    futex_word=0x76f78864 <tvservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x74dff450 (LWP 756) "HCEC Notify" 0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, 
    futex_word=0x76f795ec <cecservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  6    Thread 0x745ff450 (LWP 757) "monitor" 0x76f8794c in __pthread_cond_wait ([email protected]=0xe8d48, [email protected]=0xe8d2c)
    at pthread_cond_wait.c:186
  7    Thread 0x73dff450 (LWP 758) "ILCS_HOST" 0x76f8aebc in __lll_lock_wait (
    [email protected]=0x76f392ec <vchiq_lib_mutex>, private=0)
    at lowlevellock.c:46
  8    Thread 0x735ff450 (LWP 759) "monitor" 0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, futex_word=0x6d090b1c)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  9    Thread 0x72dff450 (LWP 760) "monitor" 0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, futex_word=0xe8f98)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  10   Thread 0x725ff450 (LWP 761) "monitor" 0x76f8b750 in connect ()
    at ../sysdeps/unix/syscall-template.S:84
  11   Thread 0x71bff450 (LWP 797) "monitor" 0x76f8b750 in connect ()
    at ../sysdeps/unix/syscall-template.S:84
  12   Thread 0x713ff450 (LWP 842) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x70bff450 (LWP 843) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  14   Thread 0x703ff450 (LWP 844) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  15   Thread 0x6fbff450 (LWP 845) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  16   Thread 0x6f3ff450 (LWP 846) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  17   Thread 0x6e9ff450 (LWP 847) "monitor" 0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, futex_word=0xe8f64)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  18   Thread 0x6e1ff450 (LWP 848) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  19   Thread 0x6d9ff450 (LWP 849) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  21   Thread 0x6b8fc450 (LWP 851) "monitor" 0x76f8794c in __pthread_cond_wait ([email protected]=0x6d091170, [email protected]=0x6d091154)
    at pthread_cond_wait.c:186
  22   Thread 0x6adff450 (LWP 852) "monitor" 0x76f87ce8 in __pthread_cond_timedwait ([email protected]=0x6d090b50, [email protected]=0x6d090b34, 
    [email protected]=0x6d090b84) at pthread_cond_timedwait.c:198
  23   Thread 0x6a1ff450 (LWP 909) "monitor" 0x76f8794c in __pthread_cond_wait ([email protected]=0x6d105dc0, [email protected]=0x6d105da4)
    at pthread_cond_wait.c:186
  24   Thread 0x699ff450 (LWP 910) "monitor" 0x76f8794c in __pthread_cond_wait ([email protected]=0x6ea63900, [email protected]=0x6ea638e4)
    at pthread_cond_wait.c:186
  37   Thread 0x6c0fc450 (LWP 4175) "monitor" 0x768a7cb0 in poll ()
    at ../sysdeps/unix/syscall-template.S:84
Backtrace of all threads (I've removed known non-related threads)

Code: Select all

Thread 24 (Thread 0x699ff450 (LWP 910)):
#0  0x76f8794c in __pthread_cond_wait ([email protected]=0x6ea63900, 
    [email protected]=0x6ea638e4) at pthread_cond_wait.c:186
#1  0x76f3cda8 in _timer_thread (arg=0x6ea638e0)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:722
#2  0x76f80fc4 in start_thread (arg=0x699ff450) at pthread_create.c:335
Backtrace stopped: Cannot access memory at address 0x3f8681f8

Thread 23 (Thread 0x6a1ff450 (LWP 909)):
#0  0x76f8794c in __pthread_cond_wait ([email protected]=0x6d105dc0, 
    [email protected]=0x6d105da4) at pthread_cond_wait.c:186
#1  0x76f3cda8 in _timer_thread (arg=0x6d105da0)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:722
#2  0x76f80fc4 in start_thread (arg=0x6a1ff450) at pthread_create.c:335
#3  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 22 (Thread 0x6adff450 (LWP 852)):
#0  0x76f87ce8 in __pthread_cond_timedwait ([email protected]=0x6d090b50, 
    [email protected]=0x6d090b34, [email protected]=0x6d090b84)
    at pthread_cond_timedwait.c:198
#1  0x76f3ce2c in _timer_thread (arg=0x6d090b30)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:724
#2  0x76f80fc4 in start_thread (arg=0x6adff450) at pthread_create.c:335
#3  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 21 (Thread 0x6b8fc450 (LWP 851)):
#0  0x76f8794c in __pthread_cond_wait ([email protected]=0x6d091170, 
    [email protected]=0x6d091154) at pthread_cond_wait.c:186
#1  0x76f3cda8 in _timer_thread (arg=0x6d091150)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:722
#2  0x76f80fc4 in start_thread (arg=0x6b8fc450) at pthread_create.c:335
#3  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)


Thread 17 (Thread 0x6e9ff450 (LWP 847)): <--- JPEG DECODING THREAD
#0  0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0xe8f64)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait ([email protected]=0xe8f64, abstime=0x0) at sem_waitcommon.c:115
#2  0x76f8a158 in __new_sem_wait_slow (sem=0xe8f64, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x76ef98bc in ilcs_execute_function_ex () from /opt/vc/lib/libopenmaxil.so
#4  0x76efa648 in ilcs_execute_function () from /opt/vc/lib/libopenmaxil.so
#5  0x76efab6c in vcil_out_SendCommand () from /opt/vc/lib/libopenmaxil.so
#6  0x000ad9d4 in ilclient_change_component_state (comp=0xf3af0, 
    state=OMX_StateExecuting) at ilclient.c:746
#7  0x0007f8e8 in omx_jpeg_decoder::decode (this=0xf30c4, 
    src=std::vector of length 3394, capacity 3394 = {...}, dst=...)
~~~~OMITING~~~~

Thread 9 (Thread 0x72dff450 (LWP 760)):  <--- H264 ENCODING THREAD
#0  0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0xe8f98)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait ([email protected]=0xe8f98, abstime=0x0) at sem_waitcommon.c:115
#2  0x76f8a158 in __new_sem_wait_slow (sem=0xe8f98, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x76ef98bc in ilcs_execute_function_ex () from /opt/vc/lib/libopenmaxil.so
#4  0x76efa648 in ilcs_execute_function () from /opt/vc/lib/libopenmaxil.so
#5  0x76efab6c in vcil_out_SendCommand () from /opt/vc/lib/libopenmaxil.so
#6  0x000ad9d4 in ilclient_change_component_state (comp=0x18be10, 
    state=OMX_StateExecuting) at ilclient.c:746
#7  0x0007d81c in omx_h264_encoder::encode (this=0x7effd860, img=..., 
    output=std::vector of length 0, capacity 0)
~~~~OMITING~~~~

Thread 8 (Thread 0x735ff450 (LWP 759)): <--- JPEG ENCODING THREAD
#0  0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x6d090b1c)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait ([email protected]=0x6d090b1c, abstime=0x0)
    at sem_waitcommon.c:115
#2  0x76f8a158 in __new_sem_wait_slow ([email protected]=0x6d090b1c, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x76f8a1e0 in __new_sem_wait ([email protected]=0x6d090b1c) at sem_wait.c:29
#4  0x76f3dda4 in vcos_semaphore_wait (sem=0x6d090b1c)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_platform.h:254
#5  _vcos_thread_sem_wait ()
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_platform.h:646
#6  vcos_generic_event_flags_get (flags=0xf5048, bitmask=2208, op=5, 
    suspend=50, retrieved_bits=0x735fe8f8)
    at /home/dc4/projects/staging/userland/interface/vcos/generic/vcos_generic_event_flags.c:223
#7  0x000abbf0 in vcos_event_flags_get (flags=0xf5048, requested_events=2208, 
    op=5, suspend=50, retrieved_events=0x735fe8f8)
    at /opt/vc/include/interface/vcos/generic/vcos_generic_event_flags.h:118
#8  0x000aeb18 in ilclient_wait_for_event (comp=0xf5030, 
    event=OMX_EventBufferFlag, nData1=341, ignore1=0, nData2=1, ignore2=0, 
    event_flag=2208, suspend=50) at ilclient.c:1155
#9  0x00081550 in omx_jpeg_encoder::encode (this=0x7effd2c8, img=..., 
    output=std::vector of length 14255, capacity 327680 = {...}, quality=85)
~~~~OMITING~~~~

Thread 7 (Thread 0x73dff450 (LWP 758)):
#0  0x76f8aebc in __lll_lock_wait (
    [email protected]=0x76f392ec <vchiq_lib_mutex>, private=0)
    at lowlevellock.c:46
#1  0x76f83b78 in __GI___pthread_mutex_lock (
    mutex=0x76f392ec <vchiq_lib_mutex>) at pthread_mutex_lock.c:80
#2  0x76f26d18 in vchiq_release_message () from /opt/vc/lib/libvchiq_arm.so
#3  0x76ef9e28 in ilcs_task () from /opt/vc/lib/libopenmaxil.so
#4  0x76f3ccc4 in vcos_thread_entry (arg=0xe8d98)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f80fc4 in start_thread (arg=0x73dff450) at pthread_create.c:335
Backtrace stopped: Cannot access memory at address 0xffa

Thread 6 (Thread 0x745ff450 (LWP 757)):
#0  0x76f8794c in __pthread_cond_wait ([email protected]=0xe8d48, 
    [email protected]=0xe8d2c) at pthread_cond_wait.c:186
#1  0x76f3cda8 in _timer_thread (arg=0xe8d28)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:722
#2  0x76f80fc4 in start_thread (arg=0x745ff450) at pthread_create.c:335
#3  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (Thread 0x74dff450 (LWP 756)):
#0  0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x76f795ec <cecservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (
    [email protected]=0x76f795ec <cecservice_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f8a158 in __new_sem_wait_slow (
    sem=0x76f795ec <cecservice_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x76f5fc44 in cecservice_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x76f3ccc4 in vcos_thread_entry (arg=0x76f79600 <cecservice_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f80fc4 in start_thread (arg=0x74dff450) at pthread_create.c:335
#6  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (Thread 0x755ff450 (LWP 755)):
#0  0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x76f78864 <tvservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (
    [email protected]=0x76f78864 <tvservice_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f8a158 in __new_sem_wait_slow (
    sem=0x76f78864 <tvservice_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x76f5f084 in tvservice_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x76f3ccc4 in vcos_thread_entry (arg=0x76f78878 <tvservice_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f80fc4 in start_thread (arg=0x755ff450) at pthread_create.c:335
#6  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 0x75dff450 (LWP 754)):
#0  0x76f8a014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x76f796e8 <dispmanx_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (
    [email protected]=0x76f796e8 <dispmanx_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:115
#2  0x76f8a158 in __new_sem_wait_slow (
    sem=0x76f796e8 <dispmanx_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x76f63150 in dispmanx_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x76f3ccc4 in vcos_thread_entry (arg=0x76f7a428 <dispmanx_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f80fc4 in start_thread (arg=0x75dff450) at pthread_create.c:335
#6  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 2 (Thread 0x76747450 (LWP 753)):
#0  0x76f260f0 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
#1  0x76f3ccc4 in vcos_thread_entry (arg=0x76f39318 <vchiq_instance+16>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#2  0x76f80fc4 in start_thread (arg=0x76747450) at pthread_create.c:335
#3  0x768b0bc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x76ff4fa0 (LWP 750)):
#0  0x768a7cb0 in poll () at ../sysdeps/unix/syscall-template.S:84
~~~~OMITING~~~~
I also have vcdbg log msg command with real info (full log attached):

Code: Select all

3618883.111: image_encode:17:completed state transition to OMX_StateIdle
3618883.136: image_encode:17:processingCommand=0
3618883.173: image_encode:16:SendCommand(2,340,3f81f374) Disable 340
3618883.194: image_encode:16:sending cmd 2 to 340
3618883.222: image_encode:16:starting command 2
3618883.260: image_encodeRIL: port 340 is 2 (->1) (0)
3618883.290: image_encodeRIL: port 340 is 2 (->1) (0)
3618883.320: image_encode:17:GetParameter(2000001)
3618883.367: image_encodeRIL: done input state change: to 1
3618883.396: image_encodeRIL: port 340 is 1 (->1) (0)
3618883.415: image_encode:16:processingCommand=1
3618883.469: image_encode:16:FreeBuffer(340,3f86b4a0,Held:0 RIL:0 Count:1)
3618883.510: image_encode:16:processingCommand=0
3618883.549: image_encode:17:GetState(2)
3618883.684: image_encode:17:SendCommand(3,340,3f81f374) Enable 340
3618883.704: image_encode:17:sending cmd 3 to 340
3618883.734: image_encode:17:starting command 3
3618883.760: image_encodeRIL: port 340 is 1 (->2) (0)
3618883.802: image_encodeRIL: port 340 is 1 (->2) (0)
3618883.823: image_encodeRIL: done input state change: to 2
3618883.860: image_encodeRIL: port 340 is 2 (->2) (0)
3618883.881: image_encode:17:processingCommand=1
3618883.909: image_encode:16:GetParameter(2000001)
3618883.969: image_encode:17:UseBuffer(340)
3618884.007: image_encode:17:processingCommand=0
3618884.203: image_encode:16:SendCommand(2,341,3f81f374) Disable 341
3618884.235: image_encode:16:sending cmd 2 to 341
3618884.269: image_encode:17:GetParameter(2000001)
3618884.302: image_encode:16:starting command 2
3618884.329: image_encodeRIL: port 341 is 2 (->1) (0)
3618884.359: image_encodeRIL: port 341 is 2 (->1) (0)
3618884.395: image_encodeRIL: done output state change: to 1
3618884.422: image_encodeRIL: port 341 is 1 (->1) (0)
3618884.443: image_encode:16:processingCommand=1
3618884.501: image_encode:16:FreeBuffer(341,3f86b580,Held:0 RIL:0 Count:1)
3618884.534: image_encode:16:processingCommand=0
3618884.573: image_encode:17:GetState(2)
3618884.712: image_encode:17:SendCommand(3,341,3f81f374) Enable 341
3618884.734: image_encode:17:sending cmd 3 to 341
3618884.765: image_encode:17:starting command 3
3618884.791: image_encodeRIL: port 341 is 1 (->2) (0)
3618884.838: image_encodeRIL: port 341 is 1 (->2) (0)
3618884.886: image_encode:16:SendCommand(0,1,3f81f374) State to loaded
3618884.946: image_encode:17:UseBuffer(341)
3618884.991: image_encode:16:starting command 0
3618885.017: image_encodeRIL: port 340 is 1 (->0) (0)
3618885.044: image_encodeRIL: port 341 is 1 (->0) (0)
3618885.074: image_encodeRIL: port 340 is 1 (->0) (0)
3618885.100: image_encodeRIL: port 341 is 1 (->0) (0)
3618885.119: image_encodeRIL: done input state change: to 0
3618885.133: image_encodeRIL: done output state change: to 0
3618885.160: image_encodeRIL: port 340 is 0 (->0) (0)
3618885.188: image_encodeRIL: port 341 is 0 (->0) (0)
3618885.213: image_encode:16:completed state transition to OMX_StateLoaded
3618885.238: image_encode:16:processingCommand=0
3618885.326: image_encodeRIL: loaded jpeg.vll
3618885.346: image_encodeRIL: done output state change: to 2
3618885.375: image_encodeRIL: port 341 is 2 (->2) (0)
3618885.418: image_encode:17:processingCommand=0
3618885.447: image_encode:16:SetParameter(2000001)
3618885.518: image_encode:17:SetParameter(5000004)
3618885.706: image_encode:16:SetParameter(5000001)
3618885.758: image_encode:17:SendCommand(0,3,3f81f374) State to executing
3618885.788: image_encode:17:starting command 0
3618885.813: image_encodeRIL: port 340 is 2 (->4) (0)
3618885.839: image_encodeRIL: port 341 is 2 (->4) (0)
3618885.868: image_encodeRIL: port 340 is 2 (->4) (0)
3618885.892: image_encodeRIL: port 341 is 2 (->4) (0)
3618885.908: image_encodeRIL: done input state change: to 4
3618885.923: image_encodeRIL: done output state change: to 4
3618885.964: image_encodeRIL: port 340 is 4 (->4) (0)
3618885.990: image_encodeRIL: port 341 is 4 (->4) (0)
3618886.009: image_encode:17:completed state transition to OMX_StateExecuting
3618886.037: image_encode:17:processingCommand=0
3618886.072: image_encode:16:SendCommand(0,2,3f81f374) State to idle
3618886.101: image_encode:16:starting command 0
3618886.128: image_encodeRIL: port 340 is 0 (->1) (0)
3618886.155: image_encodeRIL: port 341 is 0 (->1) (0)
3618886.188: image_encodeRIL: port 340 is 0 (->1) (0)
3618886.218: image_encodeRIL: port 341 is 0 (->1) (0)
3618886.241: image_encodeRIL: done input state change: to 1
3618886.266: image_encodeRIL: done output state change: to 1
3618886.304: image_encodeRIL: port 340 is 1 (->1) (0)
3618886.331: image_encodeRIL: port 341 is 1 (->1) (0)
3618886.356: image_encode:16:completed state transition to OMX_StateIdle
3618886.379: image_encode:16:processingCommand=0
3618886.587: image_encode:16:GetParameter(2000001)
3618889.000: image_encode:17:EmptyThisBuffer(3f86b4a0,405504,0->340)
3618889.022: image_encode:17: queueBuffer (input : 405504)
3618889.037: image_encode:17:qb RIL:1
3618889.074: image_encode:16:GetState(2)
3618889.120: ie_process_buffer: in:3f86b4a0 405504/1 out:0
3618889.133: ie_process_buffer: open encoder
3618889.153: image_encodeRIL: (3f846780) successfully opened module
3618889.164: ie_process_buffer: open encoder
3618889.353: image_encode:16:SendCommand(3,340,3f81f374) Enable 340
3618889.375: image_encode:16:sending cmd 3 to 340
3618889.431: image_encode:17:FillThisBuffer(3f86b520,0,341->0)
3618889.452: image_encode:17: queueBuffer (output : 0)
3618889.466: image_encode:17:qb RIL:1
3618889.502: image_encode:16:starting command 3
3618889.530: image_encodeRIL: port 340 is 1 (->2) (0)
3618889.561: image_encodeRIL: port 340 is 1 (->2) (0)
3618889.582: image_encodeRIL: done input state change: to 2
3618889.610: image_encodeRIL: port 340 is 2 (->2) (0)
3618889.645: image_encode:16:processingCommand=1
3618889.701: image_encode:16:UseBuffer(340)
3618889.735: image_encode:16:processingCommand=0
3618889.936: image_encode:16:GetParameter(2000001)
3618890.149: image_encode:16:GetState(2)
3618890.367: image_encode:16:SendCommand(3,341,3f81f374) Enable 341
3618890.391: image_encode:16:sending cmd 3 to 341
3618890.422: image_encode:16:starting command 3
3618890.450: image_encodeRIL: port 341 is 1 (->2) (0)
3618890.481: image_encodeRIL: port 341 is 1 (->2) (0)
3618890.631: image_encode:16:UseBuffer(341)
3618890.811: image_encodeRIL:opened 352x288
3618890.825: ie_process_buffer: encode data
3618891.944: image_encodeRIL: loaded jpeg.vll
3618891.963: image_encodeRIL: done output state change: to 2
3618891.993: image_encodeRIL: port 341 is 2 (->2) (0)
3618892.024: image_encode:16:processingCommand=0
3618892.224: image_encode:16:SetParameter(5000004)
3618892.325: image_encodeRIL: done 32768, storing 32768/81920
3618892.450: image_encode:16:SendCommand(0,3,3f81f374) State to executing
3618892.480: image_encode:16:starting command 0
3618892.505: image_encodeRIL: port 340 is 2 (->4) (0)
3618892.530: image_encodeRIL: port 341 is 2 (->4) (0)
3618892.559: image_encodeRIL: port 340 is 2 (->4) (0)
3618892.585: image_encodeRIL: port 341 is 2 (->4) (0)
3618892.601: image_encodeRIL: done input state change: to 4
3618892.619: image_encodeRIL: done output state change: to 4
3618892.646: image_encodeRIL: port 340 is 4 (->4) (0)
3618892.671: image_encodeRIL: port 341 is 4 (->4) (0)
3618892.692: image_encode:16:completed state transition to OMX_StateExecuting
3618892.719: image_encode:16:processingCommand=0
3618892.747: image_encodeRIL: encoded 288: 288/288
3618892.816: image_encodeRIL: done 18573, storing 51341/81920
3618892.876: image_encodeRIL: closed codec
3618892.898: RAW: reading metadata to 0x0
3618892.914: RAW: reading metadata to 0x0
3618892.954: image_encode:17:cb:consumed_input_buffer(3f86b4a0,0b,0f) RIL:1
3618893.010: ie_process_buffer: in:0 0/0 out:3f86b520
3618893.046: image_encode:17:cb:emit_output_buffer(3f86b520,51341b,11f) RIL:1
3618893.065: image_encode:17:cb:emit_output_buffer: EOS
3618896.494: image_encode:16:EmptyThisBuffer(3f8685a0,327680,0->340)
3618896.514: image_encode:16: queueBuffer (input : 327680)
3618896.531: image_encode:16:qb RIL:1
3618896.574: image_encode:17:SendCommand(0,2,3f81f374) State to idle
3618896.603: image_encode:17:starting command 0
3618896.630: image_encode:17:flushPort(340) Held:0 RIL:0
3618896.653: image_encode:17:retrieveBuffers(340):list 0
3618896.677: image_encode:17:flushPort(340) returning buffers to client (held:0)
3618896.698: image_encode:17:flushPort(340) held:0
3618896.722: image_encodeRIL: port 340 is 4 (->2) (0)
3618896.748: image_encode:17:flushPort(341) Held:0 RIL:0
3618896.769: image_encode:17:retrieveBuffers(341):list 0
3618896.807: image_encode:17:flushPort(341) returning buffers to client (held:0)
3618896.829: image_encode:17:flushPort(341) held:0
3618896.852: image_encodeRIL: port 341 is 4 (->2) (0)
3618896.879: image_encodeRIL: port 340 is 4 (->2) (0)
3618896.905: image_encodeRIL: port 341 is 4 (->2) (0)
3618896.936: image_encode:17:flushPort(340) Held:0 RIL:0
3618896.957: image_encode:17:retrieveBuffers(340):list 0
3618896.981: image_encode:17:flushPort(340) returning buffers to client (held:0)
3618897.002: image_encode:17:flushPort(340) held:0
3618897.026: image_encodeRIL: port 340 is 4 (->2) (0)
3618897.050: image_encode:17:flushPort(341) Held:0 RIL:0
3618897.070: image_encode:17:retrieveBuffers(341):list 0
3618897.097: image_encode:17:flushPort(341) returning buffers to client (held:0)
3618897.120: image_encode:17:flushPort(341) held:0
3618897.143: image_encodeRIL: port 341 is 4 (->2) (0)
3618897.169: image_encodeRIL: port 340 is 4 (->2) (0)
3618897.195: image_encodeRIL: port 341 is 4 (->2) (0)
3618897.215: image_encodeRIL: done input state change: to 2
3618897.264: image_encode:16:FillThisBuffer(3f868620,0,341->0)
3618897.343: image_encode:16: queueBuffer (output : 0)
3618897.356: image_encode:16:qb RIL:1
3618897.423: ie_process_buffer: in:3f8685a0 327680/1 out:0
3618897.435: ie_process_buffer: open encoder
3618897.452: image_encodeRIL: (3f8346c0) successfully opened module
3618897.466: ie_process_buffer: open encoder
3618898.303: image_encodeRIL:opened 320x256
3618898.313: ie_process_buffer: encode data
3618899.301: image_encodeRIL: done output state change: to 2
3618899.338: image_encode:17:flushPort(340) Held:0 RIL:0
3618899.359: image_encode:17:retrieveBuffers(340):list 0
3618899.388: image_encode:17:flushPort(340) returning buffers to client (held:0)
3618899.410: image_encode:17:flushPort(340) held:0
3618899.433: image_encodeRIL: port 340 is 2 (->2) (0)
3618899.462: image_encode:17:flushPort(341) Held:0 RIL:0
3618899.483: image_encode:17:retrieveBuffers(341):list 0
3618899.510: image_encode:17:flushPort(341) returning buffers to client (held:0)
3618899.534: image_encode:17:flushPort(341) held:0
3618899.558: image_encodeRIL: port 341 is 2 (->2) (0)
3618899.583: image_encode:17:completed state transition to OMX_StateIdle
3618899.614: image_encode:17:processingCommand=0
3618899.822: image_encodeRIL: encoded 256: 256/256
3618899.912: image_encodeRIL: done 13810, storing 13810/81920
3618899.959: image_encodeRIL: closed codec
3618899.975: RAW: reading metadata to 0x0
3618899.989: RAW: reading metadata to 0x0
3618900.032: image_encode:16:cb:consumed_input_buffer(3f8685a0,0b,0f) RIL:1
3618900.087: ie_process_buffer: in:0 0/0 out:3f868620
3618900.129: image_encode:16:cb:emit_output_buffer(3f868620,13810b,11f) RIL:1
3618900.146: image_encode:16:cb:emit_output_buffer: EOS
3618902.205: image_decode:10:SendCommand(0,3,3f81f374) State to executing
3618902.240: image_decode:10:starting command 0
3618902.265: image_decodeRIL: port 320 is 2 (->4)
3618902.288: image_decodeRIL: port 321 is 2 (->4)
3618902.316: image_decodeRIL: port 320 is 2 (->4)
3618902.336: image_decodeRIL: port 321 is 2 (->4)
3618902.356: image_decodeRIL: done input state change: to 4
3618902.371: image_decodeRIL: done output state change: to 4
3618902.403: id_process_buffer: give up: in:0 error:0 chparam:0 out:0 numS:0
3618902.427: image_decodeRIL: port 320 is 4 (->4)
3618902.449: image_decodeRIL: port 321 is 4 (->4)
3618902.468: image_decode:10:completed state transition to OMX_StateExecuting
3618902.492: image_decode:10:processingCommand=0
3618902.725: resize:11:SendCommand(0,3,3f81f374) State to executing
3618902.757: resize:11:starting command 0
3618902.782: re_set_port_state: 60 to 4 (cur:2 pend:2)
3618902.806: re_set_port_state: 61 to 4 (cur:2 pend:2)
3618902.826: resize:11:completed state transition to OMX_StateExecuting
3618902.848: resize:11:processingCommand=0
3618902.861: resize:11:timer retry on 60
3618902.886: resize:11:sendBuffers(60):3f86bf00 0/0
3618902.915: image_decode:10:FillThisBuffer(3f86bf00,0,321->60)
3618902.935: image_decode:10: queueBuffer (output : 0)
3618902.946: image_decode:10:qb RIL:1
3618902.980: id_process_buffer: give up: in:0 error:0 chparam:0 out:0 numS:0
3618903.291: video_encode:19:SendCommand(0,3,3f81f374) State to executing
3618903.330: video_encode:19:starting command 0
3618903.353: video_encode:19:RIL: set_port_state port 200 state 4
3618903.369: video_encode:19:RIL: take input port executing
3618903.391: video_encode:19:RIL: set_port_state port 201 state 4
3618903.422: video_encode:19:RIL: set_port_state port 200 state 4
3618903.451: video_encode:19:RIL: set_port_state port 200 state 4
3618903.468: video_encode:19:completed state transition to OMX_StateExecuting
3618903.490: video_encode:19:processingCommand=0
vcdbg log assert is empty.

I know it's a bunch of data but I really need to know the reason my program is crashing in VC related thread. This time vcgencmd didn't got stuck after the crash as usual. I'd need some input or hints to solve this extrange crash.
Attachments
vcdbg.7z
vcdbg log msg
(36.26 KiB) Downloaded 5 times

Return to “OpenMAX”

Who is online

Users browsing this forum: No registered users and 3 guests