Comment 12 for bug 789198

Revision history for this message
Ricardo Salveti (rsalveti) wrote : Re: Firefox crashes when attempting to play webm video OMAP4 Panda Board

(gdb) b vp8dx_receive_compressed_data
Breakpoint 1 at 0x40c4899c: file /build/firefox/trunk/firefox-trunk-7.0~a1~hg20110618r71272+nobinonly/build-tree/mozilla/media/libvpx/vp8/decoder/onyxd_if.c, line 318.
(gdb) b vp8_push_neon
Breakpoint 2 at 0x40c54132
(gdb) c
Continuing.
[New Thread 0x520ff460 (LWP 2080)]
[Thread 0x4c6ff460 (LWP 2062) exited]
[New Thread 0x5297c460 (LWP 2081)]
[New Thread 0x4c6ff460 (LWP 2086)]
[Switching to Thread 0x4c6ff460 (LWP 2086)]

Breakpoint 1, vp8dx_receive_compressed_data (ptr=0x53101020, size=14089,
    source=0x5346b000 "\260 \001\235\001*\340\001h\001\004\207\b\205\205\210\205\204\210N\203\270\070Ϩr\233\003\241{k\023\027\205!\355t\341\311?\t\376\347\235w!\367\257\362\037\301\376\316\366\251\337\307oy\254t\347\376\177\272/\232\277\360\277\362\177\251\370\005\375[\375\217\376\037d\317\355\276z\237\272?\002\277x}V\376\323\376\315\373\236\377\351\366\r\375\223\324?\373\217\372>\274oE/\335\037N\177\335\357\211\037\354\337\366\377s}\250\177\373\352kL\310\061\300j\320\363 \277E\016\312D\210\322-\351\060e\004\377\213J\245\243ܯ\277Rf\321C\351\061j\021X\216\252_^9\030h\311\300X\031*\327\270vƒ\252\a\n\244u\004\232\252Ќs"..., time_stamp=0)
    at /build/firefox/trunk/firefox-trunk-7.0~a1~hg20110618r71272+nobinonly/build-tree/mozilla/media/libvpx/vp8/decoder/onyxd_if.c:318
318 {
(gdb) l
313
314 return err;
315 }
316
317 int vp8dx_receive_compressed_data(VP8D_PTR ptr, unsigned long size, const unsigned char *source, INT64 time_stamp)
318 {
319 #if HAVE_ARMV7
320 INT64 dx_store_reg[8];
321 #endif
322 VP8D_COMP *pbi = (VP8D_COMP *) ptr;
(gdb) n
330 if (ptr == 0)
(gdb)
335 pbi->common.error.error_code = VPX_CODEC_OK;
(gdb)
322 VP8D_COMP *pbi = (VP8D_COMP *) ptr;
(gdb)
335 pbi->common.error.error_code = VPX_CODEC_OK;
(gdb) p ptr
$1 = (VP8D_PTR) 0x53101020
(gdb) n
339 if (cm->rtcd.flags & HAS_NEON)
(gdb) l
334
335 pbi->common.error.error_code = VPX_CODEC_OK;
336
337 #if HAVE_ARMV7
338 #if CONFIG_RUNTIME_CPU_DETECT
339 if (cm->rtcd.flags & HAS_NEON)
340 #endif
341 {
342 vp8_push_neon(dx_store_reg);
343 }
(gdb) p cm
$2 = (VP8_COMMON *) 0x531021d0
(gdb) p cm->rtcd
$3 = {idct = {idct1 = 0x40c51ffe <vp8_short_idct4x4llm_1_neon>, idct16 = 0x40c5204e <vp8_short_idct4x4llm_neon>, idct1_scalar_add = 0x40c41839 <vp8_dc_only_idct_add_c>, iwalsh1 = 0x40c512fe <vp8_short_inv_walsh4x4_1_neon>,
    iwalsh16 = 0x40c5127a <vp8_short_inv_walsh4x4_neon>}, recon = {copy16x16 = 0x40c511b2 <vp8_copy_mem16x16_neon>, copy8x8 = 0x40c5116e <vp8_copy_mem8x8_neon>, copy8x4 = 0x40c5114a <vp8_copy_mem8x4_neon>,
    recon = 0x40c51f8e <vp8_recon_b_neon>, recon2 = 0x40c51ea2 <vp8_recon2b_neon>, recon4 = 0x40c51efa <vp8_recon4b_neon>, recon_mb = 0x40c4e1db <vp8_recon_mb_neon>, recon_mby = 0x40c43f1f <vp8_recon_mby_c>,
    build_intra_predictors_mby_s = 0x40c4dadf <vp8_build_intra_predictors_mby_s_neon>, build_intra_predictors_mby = 0x40c4dab9 <vp8_build_intra_predictors_mby_neon>}, subpix = {sixtap16x16 = 0x40c53396 <vp8_sixtap_predict16x16_neon>,
    sixtap8x8 = 0x40c52ce2 <vp8_sixtap_predict8x8_neon>, sixtap8x4 = 0x40c5269e <vp8_sixtap_predict8x4_neon>, sixtap4x4 = 0x40c5212a <vp8_sixtap_predict_neon>, bilinear16x16 = 0x40c50d46 <vp8_bilinear_predict16x16_neon>,
    bilinear8x8 = 0x40c50b3a <vp8_bilinear_predict8x8_neon>, bilinear8x4 = 0x40c509da <vp8_bilinear_predict8x4_neon>, bilinear4x4 = 0x40c5089a <vp8_bilinear_predict4x4_neon>}, loopfilter = {
    normal_mb_v = 0x40c4d8a5 <vp8_loop_filter_mbv_neon>, normal_b_v = 0x40c4d9e9 <vp8_loop_filter_bv_neon>, normal_mb_h = 0x40c4d843 <vp8_loop_filter_mbh_neon>, normal_b_h = 0x40c4d907 <vp8_loop_filter_bh_neon>,
    simple_mb_v = 0x40c4d8e9 <vp8_loop_filter_mbvs_neon>, simple_b_v = 0x40c4da6b <vp8_loop_filter_bvs_neon>, simple_mb_h = 0x40c4d887 <vp8_loop_filter_mbhs_neon>, simple_b_h = 0x40c4d997 <vp8_loop_filter_bhs_neon>}, postproc = {
    down = 0, across = 0, downacross = 0, addnoise = 0, blend_mb = 0}, flags = 7}
(gdb) p dx_store_reg
$4 = {139152645440798, 96048353650484, 46291157527873, 32920924327760, 4666967130904728015, 1393566160, 2032, 5985321427003253200}
(gdb) n
342 vp8_push_neon(dx_store_reg);
(gdb) n

Program received signal SIGILL, Illegal instruction.
0x40c54138 in vp8_push_neon () from /usr/lib/firefox-trunk-7.0a1/libxul.so