Closed Bug 1153650 Opened 10 years ago Closed 9 years ago

Firefox segmentation fault on video playback (gstreamer) running OpenBSD

Categories

(Core :: Audio/Video: Playback, defect, P5)

37 Branch
x86_64
OpenBSD
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: adam.wolk, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; OpenBSD amd64; rv:37.0) Gecko/20100101 Firefox/37.0 Build ID: 20150408192825 Steps to reproduce: I'm trying to watch the latest BSDNow.tv episode in Firefox and it works perfectly fine until they go to discuss port reviews by the end of the episode. I managed to reproduce the crash twice so far, always resulting in the same segmentation fault that looks like coming from gstreamer. Running: amd64 snapshot from Apr 9 GENERIC.MP + a re0 patch from Brad Smith Gnome 3.16.0 firefox-37.0.1 (installed) etc/login.conf :datasize-cur=1536M dmesg at the far end Steps to reproduce: 1. Start firefox 2. Navigate to: http://www.bsdnow.tv/episodes/2015_04_08-pkg_remove_freebsd-update 3. Press play - keep on 360p 4. Skip to 1h 10m 5. Wait for Chris to speak. 6. There is a slight chance that the browser will crash when Allan talks before they both get to OpenBSD content. Possible workarounds: - youtube-dl the epsisode & play in mplayer/vlc - watch the video in 720p (not able to reproduce crash when video is on 720p) Crash reproduced 4 times: 1) 16:12 (783M core dump) 2) 16:22 (572M core dump) 3) 16:24 (270M core dump) 4) 16:28 (263M core dump) The reason for the core dumps getting smaller is me narrowing down the issue. First test runs had more tabs open, last two tests were done with no other tabs than the linked bsdnow.tv page. Allan Jude on twitter (https://twitter.com/allanjude/status/587299374528512000) suggested it might be: - https://www.mozilla.org/en-US/security/advisories/mfsa2015-31/ though that tweet was most probably a joke but I don't know how to verify if that patch is included in my Firefox build. This issue was originally reported to the OpenBSD mailing lists: - http://marc.info/?l=openbsd-ports&m=142884995931428&w=2 Actual results: $ firefox Segmentation fault (core dumped) Trace run 1: #0 0x00000b40930669ba in kill () at <stdin>:2 2 <stdin>: No such file or directory. in <stdin> (gdb) bt #0 0x00000b40930669ba in kill () at <stdin>:2 #1 0x00000b4148eb53a4 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-37.0.1/libxul.so.55.0 #2 <signal handler called> #3 0x00000b416be82dd7 in aac_decode_frame_int () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #4 0x00000b416be84c7e in aac_decode_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #5 0x00000b416c12fabc in avcodec_decode_audio4 () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #6 0x00000b416bdc960e in gst_ffmpegauddec_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #7 0x00000b416bdc9f8d in gst_ffmpegauddec_handle_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #8 0x00000b4160daab20 in gst_audio_decoder_push_buffers (dec=0xb40d17462a0, force=0) at gstaudiodecoder.c:1415 #9 0x00000b4160daafc1 in gst_audio_decoder_chain_forward (dec=0xb40d17462a0, buffer=0xb4074a29440) at gstaudiodecoder.c:1518 #10 0x00000b4160daedfc in gst_audio_decoder_chain (pad=Variable "pad" is not available. ) at gstaudiodecoder.c:1797 #11 0x00000b415a84bfa4 in gst_pad_chain_data_unchecked (pad=0xb407cfc0360, type=Variable "type" is not available. ) at gstpad.c:3830 #12 0x00000b415a855118 in gst_pad_push_data (pad=0xb41408f9d70, type=4112, data=0xb4074a29440) at gstpad.c:4063 #13 0x00000b415b1121bb in gst_base_parse_push_frame (parse=0xb40ab116230, frame=0xb4123b055c0) at gstbaseparse.c:2304 #14 0x00000b415b113939 in gst_base_parse_chain (pad=Variable "pad" is not available. ) at gstbaseparse.c:2824 #15 0x00000b415a84bfa4 in gst_pad_chain_data_unchecked (pad=0xb41408f9b40, type=Variable "type" is not available. ) at gstpad.c:3830 #16 0x00000b415a855118 in gst_pad_push_data (pad=0xb41408f9910, type=4112, data=0xb4074a29440) at gstpad.c:4063 #17 0x00000b4161629c77 in gst_multi_queue_loop (pad=Variable "pad" is not available. ) at gstmultiqueue.c:1229 #18 0x00000b415a87bfa9 in gst_task_func (task=0xb40899505f0) at gsttask.c:316 #19 0x00000b40f4e7e3fd in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #20 0x00000b40f4e7d789 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #21 0x00000b408cb20a7e in _rthread_start (v=Variable "v" is not available. ) at /usr/src/lib/librthread/rthread.c:145 #22 0x00000b409302761b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 #23 0x0000000000000000 in ?? () Current language: auto; currently asm (gdb) Trace 2: #0 0x000003c8525159ba in kill () at <stdin>:2 2 <stdin>: No such file or directory. in <stdin> (gdb) bt #0 0x000003c8525159ba in kill () at <stdin>:2 #1 0x000003c7f2b873a4 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-37.0.1/libxul.so.55.0 #2 <signal handler called> #3 0x000003c8b751fc04 in decode_ics () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #4 0x000003c8b75205d1 in decode_cpe () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #5 0x000003c8b752102e in aac_decode_frame_int () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #6 0x000003c8b7522c7e in aac_decode_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #7 0x000003c8b77cdabc in avcodec_decode_audio4 () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #8 0x000003c8b746760e in gst_ffmpegauddec_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #9 0x000003c8b7467f8d in gst_ffmpegauddec_handle_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #10 0x000003c8b3bd2b20 in gst_audio_decoder_push_buffers (dec=0x3c864adfaa0, force=0) at gstaudiodecoder.c:1415 #11 0x000003c8b3bd2fc1 in gst_audio_decoder_chain_forward (dec=0x3c864adfaa0, buffer=0x3c80ce778c0) at gstaudiodecoder.c:1518 #12 0x000003c8b3bd6dfc in gst_audio_decoder_chain (pad=Variable "pad" is not available. ) at gstaudiodecoder.c:1797 #13 0x000003c8afa11fa4 in gst_pad_chain_data_unchecked (pad=0x3c814f71620, type=Variable "type" is not available. ) at gstpad.c:3830 #14 0x000003c8afa1b118 in gst_pad_push_data (pad=0x3c814f711c0, type=4112, data=0x3c80ce778c0) at gstpad.c:4063 #15 0x000003c8b02d81bb in gst_base_parse_push_frame (parse=0x3c8134a9a30, frame=0x3c7afcd5b30) at gstbaseparse.c:2304 #16 0x000003c8b02d9939 in gst_base_parse_chain (pad=Variable "pad" is not available. ) at gstbaseparse.c:2824 #17 0x000003c8afa11fa4 in gst_pad_chain_data_unchecked (pad=0x3c814f70f90, type=Variable "type" is not available. ) at gstpad.c:3830 #18 0x000003c8afa1b118 in gst_pad_push_data (pad=0x3c814f70d60, type=4112, data=0x3c80ce778c0) at gstpad.c:4063 #19 0x000003c8b4029c77 in gst_multi_queue_loop (pad=Variable "pad" is not available. ) at gstmultiqueue.c:1229 #20 0x000003c8afa41fa9 in gst_task_func (task=0x3c8336c8ef0) at gsttask.c:316 #21 0x000003c87af503fd in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #22 0x000003c87af4f789 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #23 0x000003c864baaa7e in _rthread_start (v=Variable "v" is not available. ) at /usr/src/lib/librthread/rthread.c:145 #24 0x000003c8524d661b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 #25 0x0000000000000000 in ?? () Current language: auto; currently asm (gdb) Trace 3: #0 0x00001790c26589ba in kill () at <stdin>:2 2 <stdin>: No such file or directory. in <stdin> (gdb) bt #0 0x00001790c26589ba in kill () at <stdin>:2 #1 0x00001790fb7353a4 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-37.0.1/libxul.so.55.0 #2 <signal handler called> #3 0x0000179124fdbd9b in aac_decode_frame_int () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #4 0x0000179124fddc7e in aac_decode_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #5 0x0000179125288abc in avcodec_decode_audio4 () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #6 0x0000179124f2260e in gst_ffmpegauddec_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #7 0x0000179124f22f8d in gst_ffmpegauddec_handle_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #8 0x0000179122771b20 in gst_audio_decoder_push_buffers (dec=0x17907396a2a0, force=0) at gstaudiodecoder.c:1415 #9 0x0000179122771fc1 in gst_audio_decoder_chain_forward (dec=0x17907396a2a0, buffer=0x179053986940) at gstaudiodecoder.c:1518 #10 0x0000179122775dfc in gst_audio_decoder_chain (pad=Variable "pad" is not available. ) at gstaudiodecoder.c:1797 #11 0x00001791156bbfa4 in gst_pad_chain_data_unchecked (pad=0x17906df51660, type=Variable "type" is not available. ) at gstpad.c:3830 #12 0x00001791156c5118 in gst_pad_push_data (pad=0x17906df51200, type=4112, data=0x179053986940) at gstpad.c:4063 #13 0x0000179121a341bb in gst_base_parse_push_frame (parse=0x17906fb37230, frame=0x17905fb1b140) at gstbaseparse.c:2304 #14 0x0000179121a35939 in gst_base_parse_chain (pad=Variable "pad" is not available. ) at gstbaseparse.c:2824 #15 0x00001791156bbfa4 in gst_pad_chain_data_unchecked (pad=0x17906df50fd0, type=Variable "type" is not available. ) at gstpad.c:3830 #16 0x00001791156c5118 in gst_pad_push_data (pad=0x17906df50da0, type=4112, data=0x179053986940) at gstpad.c:4063 #17 0x000017912342ac77 in gst_multi_queue_loop (pad=Variable "pad" is not available. ) at gstmultiqueue.c:1229 #18 0x00001791156ebfa9 in gst_task_func (task=0x1790d81fd3b0) at gsttask.c:316 #19 0x000017902e07c3fd in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #20 0x000017902e07b789 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #21 0x00001790904f5a7e in _rthread_start (v=Variable "v" is not available. ) at /usr/src/lib/librthread/rthread.c:145 #22 0x00001790c261961b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 #23 0x0000000000000000 in ?? () Current language: auto; currently asm Trace 4: #0 0x000018db1edae9ba in kill () at <stdin>:2 2 <stdin>: No such file or directory. in <stdin> (gdb) bt #0 0x000018db1edae9ba in kill () at <stdin>:2 #1 0x000018db3abf43a4 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-37.0.1/libxul.so.55.0 #2 <signal handler called> #3 0x000018db646cfc68 in decode_ics () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #4 0x000018db646d15d1 in decode_cpe () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #5 0x000018db646d202e in aac_decode_frame_int () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #6 0x000018db646d3c7e in aac_decode_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #7 0x000018db6497eabc in avcodec_decode_audio4 () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #8 0x000018db6461860e in gst_ffmpegauddec_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #9 0x000018db64618f8d in gst_ffmpegauddec_handle_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #10 0x000018db61a49b20 in gst_audio_decoder_push_buffers (dec=0x18db2d21d2a0, force=0) at gstaudiodecoder.c:1415 #11 0x000018db61a49fc1 in gst_audio_decoder_chain_forward (dec=0x18db2d21d2a0, buffer=0x18dab3007690) at gstaudiodecoder.c:1518 #12 0x000018db61a4ddfc in gst_audio_decoder_chain (pad=Variable "pad" is not available. ) at gstaudiodecoder.c:1797 #13 0x000018daf0504fa4 in gst_pad_chain_data_unchecked (pad=0x18da888976f0, type=Variable "type" is not available. ) at gstpad.c:3830 #14 0x000018daf050e118 in gst_pad_push_data (pad=0x18da88897290, type=4112, data=0x18dab3007690) at gstpad.c:4063 #15 0x000018db36a451bb in gst_base_parse_push_frame (parse=0x18da692e8a30, frame=0x18da7d2a96b0) at gstbaseparse.c:2304 #16 0x000018db36a46939 in gst_base_parse_chain (pad=Variable "pad" is not available. ) at gstbaseparse.c:2824 #17 0x000018daf0504fa4 in gst_pad_chain_data_unchecked (pad=0x18da88897060, type=Variable "type" is not available. ) at gstpad.c:3830 #18 0x000018daf050e118 in gst_pad_push_data (pad=0x18da88896e30, type=4112, data=0x18dab3007690) at gstpad.c:4063 #19 0x000018db62702c77 in gst_multi_queue_loop (pad=Variable "pad" is not available. ) at gstmultiqueue.c:1229 #20 0x000018daf0534fa9 in gst_task_func (task=0x18daf58d63b0) at gsttask.c:316 #21 0x000018db5820a3fd in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #22 0x000018db58209789 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #23 0x000018db35d4aa7e in _rthread_start (v=Variable "v" is not available. ) at /usr/src/lib/librthread/rthread.c:145 #24 0x000018db1ed6f61b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 #25 0x0000000000000000 in ?? () Current language: auto; currently asm Expected results: Being able to watch the video up to the end without the browser crashing.
(In reply to Adam Wolk from comment #0) > Allan Jude on twitter > (https://twitter.com/allanjude/status/587299374528512000) suggested it might > be: > - https://www.mozilla.org/en-US/security/advisories/mfsa2015-31/ > though that tweet was most probably a joke but I don't know how to verify if > that patch is included > in my Firefox build. That kind of joke is .. not funny. The actual MFSA was fixed in 37.0 so your build had it. To add another data point, is it with gstreamer1-1.4.5 and more or less the same version for the gstreamer plugins ?
(In reply to Landry Breuil (:gaston) from comment #1) > To add another data point, is it with gstreamer1-1.4.5 and more or less the > same version for the gstreamer plugins ? Correct. Here are my gstreamer & plugins plugins: # pkg_info -Q gstreamer | grep -i installed gstreamer1-1.4.5 (installed) gstreamer1-plugins-base-1.4.5 (installed) gstreamer1-plugins-good-1.4.5p1 (installed) gstreamer1-plugins-libav-1.4.5 (installed) gstreamer1-plugins-ugly-1.4.5 (installed) It's also worth to add that I downloaded the whole episode with youtube-dl and played it without any issues in Totem which also uses the gstreamer backend.
Component: Untriaged → Video/Audio
Product: Firefox → Core
Havent been able to reproduce so far with 38.0b3, but youtube/video playback is barely usable on my desktop even at 360p.
I can provide a core dump from the last crash privately to you Landry. Would that help?
gdb is unusable to debug anything "big" on OpenBSD.
In the hope that it might be useful, here is a list off all packages installed on this system: # echo $PKG_PATH http://mirrors.nycbug.org/pub/OpenBSD/snapshots/packages/amd64/ $ pkg_info -A ImageMagick-6.7.7.7p8 image processing tools accountsservice-0.6.40p0 D-Bus interface for user account query and manipulation adwaita-icon-theme-3.16.0 base icon theme for GNOME argyllcms-1.6.3 ICC compatible color management system aspell-0.60.6.1p2 spell checker designed to eventually replace Ispell at-spi2-atk-2.16.0p0 atk-bridge for at-spi2 at-spi2-core-2.16.0p0 service interface for assistive technologies atk-2.16.0 accessibility toolkit used by gtk+ atk2mm-2.22.7p0 C++ binding for the ATK library avahi-0.6.31p17 framework for Multicast DNS Service Discovery babl-0.1.12 dynamic pixel format conversion library baobab-3.16.0p0 directory tree analyzer for GNOME bzip2-1.0.6p1 block-sorting file compressor, unencumbered cairo-1.14.2 vector graphics library cairomm-1.10.0p3 C++ interface for cairo cantarell-fonts-0.0.16p2 humanist sans-serif font family caribou-0.4.18p0 input assistive technology cdparanoia-3.a9.8p1 CDDA reading utility with extra data verification features cdrtools-3.00p1 ISO 9660 filesystem and CD/DVD/BD creation tools clisp-2.48p3 ANSI Common Lisp implementation clutter-1.22.0 OpenGL-based interactive canvas library clutter-gst-3.0.4 clutter GStreamer integration library clutter-gtk-1.6.0p0 GTK+ widget for clutter cmake-3.2.1 portable build system cogl-1.20.0 modern 3D graphics API colord-1.2.9p1 device color profile management daemon colord-gtk-0.1.26p0 GTK+ support library for colord consolekit-0.4.6p14 framework for defining and tracking users cracklib-2.9.2 sensible unix password cracker cups-libs-2.0.2p0 CUPS libraries and headers cups-pk-helper-0.2.5p0 fine-grained privileges PolicyKit helper for CUPS curl-7.41.0 get files from FTP, Gopher, HTTP or HTTPS servers cvsps-2.1p0 generate patchsets from CVS repositories cyrus-sasl-2.1.26p12 RFC 2222 SASL (Simple Authentication and Security Layer) db-4.6.21p1v0 Berkeley DB package, revision 4 dbus-1.8.16p1v0 message bus system dbus-daemon-launch-helper-1.8.16p0 DBus setuid helper for starting system services dbus-glib-0.104p0v0 glib bindings for dbus message system dconf-0.24.0p1 configuration backend system desktop-file-utils-0.22 utilities for dot.desktop entries detex-2.8p1 strip TeX/LaTeX codes from a file djvulibre-3.5.25.3p2 view, decode and encode DjVu files dotconf-1.3 simple, powerful configuration-file parser dvi2tty-5.3.1p0 converts .dvi files to plain text e2fsprogs-1.42.12p0 utilities to manipulate ext2 filesystems emacs-24.4p2-gtk3 GNU editor: extensible, customizable, self-documenting enca-1.16p1 detect character set and encoding of text files enchant-1.6.0p2 generic spell checking library/wrapper eog-3.16.0p0 Eye of GNOME, image viewing and cataloging program eog-plugins-3.16.0p0 plugins for EOG espeak-1.48.04 compact speech synthesizer evince-3.16.0p0 GNOME document viewer evolution-data-server-3.16.0p1 unified backend for PIM programs exempi-2.2.1 implementation of XMP exiv2-0.24 manipulate image meta-data such as exif and ipct ffcall-1.10p2 foreign function call libraries fftw3-3.2.2p2 C routines for computing the Discrete Fourier Transform fftw3-common-3.2.2p0 common files for the fftw3 packages file-roller-3.16.0p2 archive manager utility for GNOME firefox-37.0.1 Mozilla web browser flac-1.3.1 free lossless audio codec folks-0.11.0 people aggregation library freetype-1.3.1p4 free and portable TrueType font rendering engine gconf2-3.2.6p5 configuration database system for GNOME gcpio-2.11p1 GNU copy-in/out (cpio) gcr-3.14.0p2 library for bits of crypto UI and parsing gd-2.1.0p0 library for dynamic creation of images gdbm-1.11p0 GNU dbm gdk-pixbuf-2.30.8 graphic library for gtk+2 gdm-3.16.0.1p0 GNOME display manager gedit-3.16.0p0 lightweight GNOME text editor gedit-plugins-3.16.0p0 plugins for Gedit gegl03-0.2.99p1 graph based image processing framework (API version 0.3) geoclue2-2.1.10p2 modular geoinformation service on top of D-Bus geocode-glib-3.16.0 convenience library for the geocoding gettext-0.19.4 GNU gettext ghostscript-9.07p0 GNU PostScript interpreter ghostscript-fonts-8.11p3 35 standard PostScript fonts with Adobe name aliases giflib-5.1.1 tools and library routines for working with GIF images git-2.3.5 GIT - Tree History Storage Tool gjs-1.43.3p1 Javascript bindings for GNOME glib2-2.44.0p0 general-purpose utility library glib2-networking-2.44.0 network-related gio modules for glib2 glib2mm-2.44.0 C++ interface for glib2 gmime-2.6.20 MIME messages creation and parsing library gmp-5.0.2p3 library for arbitrary precision arithmetic gnome-3.16.0p3 GNOME desktop meta-package (base installation) gnome-backgrounds-3.16.0 wallpapers for GNOME gnome-calculator-3.16.0p2 GNOME desktop calculator gnome-calendar-3.16.0 GNOME calendar gnome-clocks-3.16.0p0 clock application for GNOME gnome-color-manager-3.16.0p0 color profile manager for GNOME gnome-contacts-3.16.0p1 contacts manager for GNOME gnome-control-center-3.16.0p2 GNOME control center gnome-desktop-3.16.0p0 components for the GNOME desktop gnome-dictionary-3.16.0p0 GNOME dictionary application gnome-documents-3.16.0p1 document and e-books manager for GNOME gnome-epub-thumbnailer-1.5 thumbnailer for EPub and MOBI books gnome-font-viewer-3.16.0p0 font viewer for GNOME gnome-getting-started-docs-3.16.0 getting started with GNOM gnome-icon-theme-3.12.0p2 base icon theme for GNOME gnome-icon-theme-symbolic-3.12.0p2 base icon theme extension for special UI contexts gnome-initial-setup-3.16.0p0 initial-setup firstboot-like tool gnome-keyring-3.16.0 password agent for the GNOME project gnome-maps-3.16.0p0 map application for GNOME gnome-menus-3.10.1p1 implementation of the FreeDesktop Desktop Menu Spec gnome-music-3.16.0p0 GNOME music playing application gnome-online-accounts-3.16.0p0 interfaces for interacting with online accounts gnome-online-miners-3.14.1p1 crawls through your online content gnome-photos-3.16.0p0 access, organize and share your photos on GNOME gnome-power-manager-3.16.0p0 GNOME power manager gnome-screenshot-3.16.0p0 screenshot application for GNOME gnome-session-3.16.0p0 GNOME session gnome-settings-daemon-3.16.0p0 GNOME settings daemon gnome-shell-3.16.0p3 next generation GNOME shell gnome-shell-extensions-3.16.0p0 collection of extensions for GNOME Shell gnome-system-monitor-3.16.0p0 sytem monitor for GNOME gnome-terminal-3.16.0p0 GNOME terminal gnome-themes-standard-3.16.0 standard GNOME themes gnome-tweak-tool-3.16.0 tweak hidden GTK/GNOME settings gnome-user-docs-3.16.0 general user documentation for GNOME gnome-weather-3.16.0p0 weather application for GNOME gnupg-1.4.19 GNU privacy guard - a free PGP replacement gnutls-3.2.21 GNU Transport Layer Security library go-1.4.1 Go programming language gobject-introspection-1.44.0 GObject Introspection gocover-1.4 go code coverage tool gperf-3.0.4p0 perfect hash functions, to help write parsers gpgme-1.5.1p0 GnuPG Made Easy graphite2-1.2.4 rendering for complex writing systems grilo-0.2.12p0 framework for making media discovery and browsing easy grilo-plugins-0.2.14p0 plugins for Grilo gsettings-desktop-schemas-3.16.0p0 collection of shared GSettings schemas gsound-1.0.1 GObject library for playing system sounds gstreamer1-1.4.5 framework for streaming media gstreamer1-plugins-base-1.4.5 base elements for GStreamer gstreamer1-plugins-good-1.4.5p1 good elements for GStreamer gstreamer1-plugins-libav-1.4.5 ffmpeg elements for GStreamer gstreamer1-plugins-ugly-1.4.5 ugly elements for GStreamer gtar-1.28p1 GNU version of the traditional tape archiver gtk+2-2.24.27p2 multi-platform graphical toolkit gtk+2-cups-2.24.27p0 gtk+2 CUPS print backend gtk+3-3.16.1 multi-platform graphical toolkit gtk+3-cloudprint-3.16.1 gtk+3 Google Cloud Print backend gtk+3-cups-3.16.1 gtk+3 CUPS print backend gtk-engines2-2.20.2p5 collection of theme engines for GTK+2 gtk-update-icon-cache-3.16.1 gtk+ icon theme caching utility gtk3mm-3.16.0p0 C++ interface for gtk3+ gtksourceview3-3.16.0p0 text widget that extends the GTK3 GtkTextView widget gucharmap-3.16.0p0 Unicode character map for the GNOME project gvfs-1.24.0p0 GNOME Virtual File System gvfs-goa-1.24.0p0 GVFS volume monitor for gnome-online-account gvfs-smb-1.24.0p0 GVFS mount module for samba harfbuzz-0.9.40 text shaping library harfbuzz-icu-0.9.40 ICU support for libharfbuzz heimdal-libs-1.5.3p0 Heimdal libraries and headers hicolor-icon-theme-0.15 fallback theme of the icon theme specification hunspell-1.3.2p0 spelling, stemming, morphological analysis and generation hwdata-0.276 hardware identification and configuration data ibus-1.5.5p1 intelligent input bus framework icu4c-54.1p3 International Components for Unicode ijs-0.35p2 raster image transmission library iniparser-3.1p1 ini file parsing library iodbc-3.52.10 ODBC 3.x driver manager iso-codes-3.57 lists of the country, language and currency iso names jasper-1.900.1p2 reference implementation of JPEG-2000 jbig2dec-0.11 decoder for JBIG2 monochrome hi-res image compression format jbigkit-2.1 lossless image compression library, with lightweight version jpeg-9a IJG's JPEG compression utilities json-c-0.12 JSON implementation in C json-glib-1.0.4 JSON parser for GLib-based libraries and applications jsoncpp-0.10.0 JSON parsing C++ API lame-3.99.5p0 lame ain't an MP3 encoder latex-mk-1.9.1p1 set of Makefile fragments to manage LaTeX documents lcms-1.18ap0 color management library lcms2-2.6p0 color management library liba52-0.7.5p2 free library for decoding ATSC A/52 streams, aka AC-3 libao-1.2.0 portable audio output library libarchive-3.1.2 multi-format archive and compression library libassuan-2.1.1 IPC library used by GnuPG and gpgme libcanberra-0.30p2 implementation of the Freedesktop sound theme spec. libcanberra-gtk-0.30p2 gtk+2 helper for libcanberra libcanberra-gtk3-0.30p2 gtk+3 helper for libcanberra libchamplain-0.12.10p0 library to provide a GTK+ widget to display maps libcroco-0.6.8p1 generic CSS parsing library for GNOME project libcryptui-3.12.2p0 interface components for OpenPGP libcue-1.4.0p0 cue sheet parser library libdaemon-0.14p1 lightweight C library that eases the writing of daemons libdvdcss-1.3.0 descramble scrambled DVDs libdvdread-5.0.0 accessing DVD files libelf-0.8.13p3 read, modify, create ELF files on any arch libepoxy-1.2 OpenGL dispatch library libexecinfo-0.2p5v0 clone of backtrace facility found in the GNU libc libexif-0.6.21p0 extract digital camera info tags from JPEG images libffi-3.1 Foreign Function Interface libgcrypt-1.6.3 crypto library based on code used in GnuPG libgdata-0.16.1 Google Data API based Glib client library libgee-0.18.0 GObject based collection library libgexiv2-0.10.3 GObject wrapper around exiv2 libgfbgraph-0.2.2 GObject library for Facebook Graph API libgit2-0.22.2 the Git library, take 2 libgit2-glib-0.22.4 GLib library wrapping libgit2 libgnome-keyring-3.12.0p0 library for gnome keyring integration libgnomekbd-3.6.0p1 keyboard configuration library libgpg-error-1.18 error codes for GnuPG related software libgphoto-2.5.7 digital camera library libgpod-0.8.0p5 library to access the contents of an iPod libgsf-1.14.32 GNOME Structured File library libgtop2-2.30.0p2 portable library for obtaining system information libgweather-3.16.0p0 weather information access library libgxps-0.2.2 GObject library for handling and rendering XPS documents libical-1.0.1 implementation of the iCalendar protocols and data units libiconv-1.14p2 character set conversion library libidn-1.30 internationalized string handling libiptcdata-1.0.4 manipulating with IPTC metadata liblouis-2.6.0 braille translator, back-translator and formatter libltdl-2.4.2p1 GNU libtool system independent dlopen wrapper libmad-0.15.1bp4 high-quality MPEG audio decoder libmagic-5.22 library to determine file type libmediaart-1.9.0 media art extraction and cache management library libmng-1.0.10p3 Multiple-image Network Graphics (MNG) reference library libmusicbrainz5-5.0.1p1 library for audio metadata lookup (v5) libnettle-2.7.1p1 cryptographic library libnotify-0.7.6 send desktop notifications to a notification daemon liboauth-1.0.2 library implementing the OAuth Core RFC 5849 standard libogg-1.3.2 Ogg bitstream library libosinfo-0.2.11p0 library for managing information about operating systems libpaper-1.1.24p0 library for handling paper characteristics libpeas-1.14.0p0 gobject-based plugins engine libplist-1.10 library to handle Apple Property List format libproxy-0.4.11p3 library handling all the details of proxy configuration libpwquality-1.2.4 library to generate, and check strenght of passwords libquvi-0.9.4 library to parse flash media stream URLs libquvi-scripts-0.9.20131130 scripts libquvi uses for parsing the media details libraw-0.16.0 library for reading RAW files librest-0.7.93 access web services that claim to be RESTful librsvg-2.40.9 SAX-based render library for SVG files libsecret-0.18 library for storing and retrieving passwords and secrets libshout-2.2.2p3 library for communicating with an icecast server libsigc++-2.4.1 callback framework for C++ libsigsegv-2.10p1 library for handling page faults in user mode libsndfile-1.0.25p1 library to handle various audio file formats libsoup-2.50.0 HTTP client/server library for GNOME libspectre-0.2.7p6 library for rendering Postscript documents libssh2-1.4.3p0 library implementing the SSH2 protocol libstdc++-4.8.4p1 GNU compiler collection: C++ compiler library libtalloc-2.0.1p1 hierarchical memory pool system with destructors libtasn1-4.4 Abstract Syntax Notation One structure parser library libtheora-1.1.1p3 open video codec libusb-compat-0.1.5p0 libusb-0.1 compatibility layer for libusb1 libusb1-1.0.9p9 library for USB device access from userspace libvorbis-1.3.5 audio compression codec library libvpx-1.3.0p1 Google VP8/VP9 video codec libwebp-0.4.2 Google WebP image format conversion tool libwmf-0.2.8.4p2 WMF handling and conversion library libxkbcommon-0.5.0 library to handle keyboard descriptions libxklavier-5.3p0 utility library for XKB libxml-2.9.2p0 XML parsing library libxslt-1.1.28p0 XSLT C Library for GNOME libzapojit-0.0.3p1 GLib/GObject wrapper for SkyDrive and Hotmail REST APIs lua-5.1.5p3 powerful, light-weight programming language (version 5.1.5) luasocket-3.0rc1p0 network support for the lua language lzo2-2.09 portable speedy lossless data compression library mercurial-3.2.3 fast, lightweight source control management meta-tracker-1.4.0p0 powerful desktop search tool and indexer mousetweaks-3.12.0p0 mouse accessibility enhancements for GNOME mozilla-dicts-en-GB-1.3p0 en-GB dictionary for Mozilla mozilla-dicts-pl-1.3p0 pl dictionary for Mozilla mozjs17-17.0p1 Mozilla C implementation of JavaScript mpfr-3.1.0.3p0 library for multiple-precision floating-point computations mutter-3.16.0p0 window and compositing manager nautilus-3.16.0p0 GNOME file manager nautilus-sendto-3.8.2p0 applications integration into Nautilus neon-0.30.1 HTTP and WebDAV client library, with C interface netpbm-10.35.94 toolkit for converting images between different formats nspr-4.10.8 Netscape Portable Runtime nss-3.18 libraries to support development of security-enabled apps openal-1.15.1p0v0 cross-platform 3D audio API openjpeg-1.5.1 open-source JPEG 2000 codec library openldap-client-2.4.40 open-source LDAP software (client) openpam-20141014 Pluggable Authentication Module orc-0.4.19 library and toolset to operate arrays of data orca-3.16.0 assistive screen reader otter-browser-0.9.05pl0 browser aiming to recreate classic Opera (12.x) UI using Qt5 p11-kit-0.22.1p0 library for loading and enumurating of PKCS#11 modules p5-Error-0.17023 error/exception handling in an OO-ish way p7zip-9.38.1 file archiver with high compression ratio pango-1.36.8 library for layout and rendering of text pangomm-2.36.0 C++ interface for pango pcre-8.35p0 perl-compatible regular expression library png-1.6.16 library for manipulating PNG images polkit-0.112p8 framework for granting privileged operations to users poppler-0.32.0 PDF rendering library poppler-data-0.4.7 encoding files for poppler popt-1.16p0 getopt(3)-like library with a number of enhancements portaudio-svn-1919 portable cross-platform audio API ps2eps-1.68p0 convert Postscript to Encapsulated Postscript psutils-1.23 utilities for manipulating PostScript documents pulseaudio-6.0p3 cross-platform networked sound server py-MarkupSafe-0.23 implements an XML/HTML/XHTML markup safe string py-beaker-1.6.2p3 session and caching library with wsgi middleware py-cairo-1.10.0p1 cairo bindings for Python py-crypto-2.6.1p0 cryptographic tools for Python py-dbus-1.2.0p3 dbus bindings for Python py-dbus-common-1.2.0p1 common files for py-dbus py-gobject3-3.16.0 Python bindings for GLib and GObject py-gobject3-common-3.16.0 common files for py-gobject3 py-mako-0.9.1p1 super-fast templating language py-setuptools-3.4.4p2v0 simplified packaging system for Python modules py3-MarkupSafe-0.23 implements an XML/HTML/XHTML markup safe string py3-atspi-2.16.0 python bindings for at-spi2 py3-beaker-1.6.2p3 session and caching library with wsgi middleware py3-cairo-1.10.0p1 cairo bindings for Python py3-crypto-2.6.1p0 cryptographic tools for Python py3-dbus-1.2.0p3 dbus bindings for Python py3-gobject3-3.16.0 Python bindings for GLib and GObject py3-mako-0.9.1p1 super-fast templating language py3-setproctitle-1.1.8p0 library for getting/setting process names py3-setuptools-3.4.4p2v0 simplified packaging system for Python modules py3-xdg-0.25p2 python library to access freedesktop.org standards python-2.7.9p0 interpreted object-oriented programming language python-3.4.3 interpreted object-oriented programming language qt5-5.3.2p12 C++ general-purpose toolkit quirks-2.64 exceptions to pkg_add rules recode-3.6p9 convert files between character sets and usages rhythmbox-3.2p0 integrated music management application for GNOME rsync-3.1.1 mirroring/synchronization over low bandwidth links samba-3.6.15p14 SMB and CIFS client and server for UNIX seahorse-3.14.1p1 GNOME encryption interface seahorse-nautilus-3.10.1p3 GnuPG extension for nautilus(1) seahorse-sharing-3.8.0p4 PGP public keys sharing via DNS-SD and HKP shared-color-targets-0.1.5 color targets from vendors for color calibration shared-mime-info-1.4 shared mime database for desktops shotwell-0.22.0p1 digital photo organizer sound-theme-freedesktop-0.8p0 XDG sound theme speech-dispatcher-0.8.2 common interface to speech synthesis speex-1.2rc1p1 patent-free speech codec spidermonkey-24.2.0p1 Mozilla C implementation of JavaScript startup-notification-0.12p4 library for tracking application startup sushi-3.12.0p4 quick previewer for Nautilus t1lib-5.1.2p0 Type 1 rasterizer library for UNIX/X11 t1utils-1.37 utilities for PostScript Type 1 fonts taglib-1.9.1p1 managing meta-data of audio formats tdb-1.2.7p2 trivial database library telepathy-glib-0.24.1p1 flexible communications framework, glib bindings telepathy-logger-0.8.1p0 flexible communications framework, logger component telepathy-mission-control-5.16.3p1 abstraction layer between apps and connection managers texlive_base-2013p4 base binaries for TeXLive typesetting distribution texlive_texmf-buildset-2013p3 smallest texlive texmf for building ports tiff-4.0.4beta tools and library routines for working with TIFF images totem-3.16.0 official media player for GNOME totem-pl-parser-3.10.4 GObject-based parsing library transfig-3.2.5ap0 tools to convert Xfig's .fig files tremor-20120410p1 integer-only, fully Ogg Vorbis compliant decoder library twolame-0.3.13p1 optimised MPEG Audio Layer 2 (MP2) encoder unrar-5.21v1 extract, list, and test RAR archives unzip-6.0p6 extract, list & test files in a ZIP archive upower-0.99.2p6 userland power management interface vino-3.16.0p0 GNOME desktop sharing server vte3-0.40.0p0 terminal emulation library wavpack-4.70.0p1 audio codec for lossless, lossy and hybrid compression webkit-gtk3-2.4.8p2v1 open source web browser engine for Gtk+ webkitgtk4-2.8.0 GTK+ port of the WebKit rendering engine x264-20141218 free H.264/MPEG-4 AVC encoder xdg-user-dirs-0.15 utilities to manage well known user directories xdg-user-dirs-gtk-0.10p0 integration of xdg-user-dirs into GNOME/gtk+ xdg-utils-1.1.0rc3p0 utilities to assist desktop integration tasks xz-5.2.1 LZMA compression and decompression tools yelp-3.16.0p0 GNOME help browser yelp-xsl-3.16.0 XSLT stylesheets for yelp youtube-dl-2015.04.03 CLI program to download videos from YouTube and other sites zeitgeist-0.9.14p6v0 event logging framework zenity-3.14.0 dialogs for GNOME zip-3.0 create/update ZIP files compatible with PKZip(tm) Let me know if there is anything that would help in any way that I could provide.
Ok this might be interesting. Totally a shot in the dark but just found my previous reports from i386: https://www.marc.info/?t=142495074100001&r=1&w=1 One of my friends took a look at it back then: - https://www.marc.info/?l=openbsd-ports&m=142496891206563&w=1 Though that crashes don't have gstreamer on their path (they start from JS). The only common crash point is workerlz4_maxCompressedSize and it was from Firefox 35. Is 37.1 compiled with enabled assertions like 35.0.1 was?
(In reply to Adam Wolk from comment #7) > Is 37.1 compiled with enabled assertions like 35.0.1 was? The same configure options were used - dunno what you think about when you say 'assertions' here..
(In reply to Landry Breuil (:gaston) from comment #8) > (In reply to Adam Wolk from comment #7) > > Is 37.1 compiled with enabled assertions like 35.0.1 was? > > The same configure options were used - dunno what you think about when you > say 'assertions' here.. Sorry for being unclear. In the i386 bug report I linked the common code paths were: (this is the i386 OLD backtrace, possibly not related to this issue) #0 0x0399f481 in kill () at <stdin>:2 #1 0x039dd876 in raise (s=11) at /usr/src/lib/libc/gen/raise.c:39 #2 0x0b6eae52 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-35.0.1/libxul.so.53.0 compared to the new one (this is the current backtrace, for this issue) #0 0x000018db1edae9ba in kill () at <stdin>:2 2 <stdin>: No such file or directory. in <stdin> (gdb) bt #0 0x000018db1edae9ba in kill () at <stdin>:2 #1 0x000018db3abf43a4 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-37.0.1/libxul.so.55.0 When you look at the definition of maxCompresseSize: /* * Provides the maximum size that LZ4 may output in a "worst case" * scenario (input data not compressible) primarily useful for memory * allocation of output buffer. * note : this function is limited by "int" range (2^31-1) * * @param aInputSize is the input size. Max supported value is ~1.9GB * @return maximum output size in a "worst case" scenario */ static inline size_t maxCompressedSize(size_t aInputSize) { size_t max = (aInputSize + (aInputSize / 255) + 16); MOZ_ASSERT(max > aInputSize); return max; } It seems that the old bug 'died' on the assertion: #1 0x039dd876 in raise (s=11) at /usr/src/lib/libc/gen/raise.c:39 #2 0x0b6eae52 in workerlz4_maxCompressedSize () from The new code shares the entry point of workerlz4_maxCompressedSize thoug: #1 0x039dd876 in raise (s=11) at /usr/src/lib/libc/gen/raise.c:39 is not present on the amd64 box. That's the reason I was thinking those issues might be related or being trapped by the same: MOZ_ASSERT(max > aInputSize); Though on my part it's just a guess, hope it doesn't introduce misinformation.
Experienced the crash again but this time while watching Youtube. Came from a different codec but resulted also in a crash in workerlz4_maxCompressedSize. I can't pin point the actual video as it was a random vid from Youtube music. #0 0x00000cb8a6ae79ba in kill () at <stdin>:2 2 <stdin>: No such file or directory. in <stdin> (gdb) bt #0 0x00000cb8a6ae79ba in kill () at <stdin>:2 #1 0x00000cb85b7913a4 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox-37.0.1/libxul.so.55.0 #2 <signal handler called> #3 0x00000cb95d142c04 in decode_ics () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #4 0x00000cb95d1435d1 in decode_cpe () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #5 0x00000cb95d14402e in aac_decode_frame_int () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #6 0x00000cb95d145c7e in aac_decode_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #7 0x00000cb95d3f0abc in avcodec_decode_audio4 () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #8 0x00000cb95d08a60e in gst_ffmpegauddec_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #9 0x00000cb95d08af8d in gst_ffmpegauddec_handle_frame () from /usr/local/lib/gstreamer-1.0/libgstlibav.so #10 0x00000cb95aec2b20 in gst_audio_decoder_push_buffers (dec=0xcb956792aa0, force=0) at gstaudiodecoder.c:1415 #11 0x00000cb95aec2fc1 in gst_audio_decoder_chain_forward (dec=0xcb956792aa0, buffer=0xcb8b7158b70) at gstaudiodecoder.c:1518 #12 0x00000cb95aec6dfc in gst_audio_decoder_chain (pad=Variable "pad" is not available. ) at gstaudiodecoder.c:1797 #13 0x00000cb959470fa4 in gst_pad_chain_data_unchecked (pad=0xcb93d8b9910, type=Variable "type" is not available. ) at gstpad.c:3830 #14 0x00000cb95947a118 in gst_pad_push_data (pad=0xcb94e4f4100, type=4112, data=0xcb8b7158b70) at gstpad.c:4063 #15 0x00000cb959d371bb in gst_base_parse_push_frame (parse=0xcb8b4145230, frame=0xcb8c184d960) at gstbaseparse.c:2304 #16 0x00000cb959d38939 in gst_base_parse_chain (pad=Variable "pad" is not available. ) at gstbaseparse.c:2824 #17 0x00000cb959470fa4 in gst_pad_chain_data_unchecked (pad=0xcb94e4f4330, type=Variable "type" is not available. ) at gstpad.c:3830 #18 0x00000cb95947a118 in gst_pad_push_data (pad=0xcb88d4454e0, type=4112, data=0xcb8b7158b70) at gstpad.c:4063 #19 0x00000cb95bb7bc77 in gst_multi_queue_loop (pad=Variable "pad" is not available. ) at gstmultiqueue.c:1229 #20 0x00000cb9594a0fa9 in gst_task_func (task=0xcb8fed1f170) at gsttask.c:316 #21 0x00000cb8955b23fd in g_thread_pool_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #22 0x00000cb8955b1789 in g_thread_proxy () from /usr/local/lib/libglib-2.0.so.4200.1 #23 0x00000cb9065c0a7e in _rthread_start (v=Variable "v" is not available. ) at /usr/src/lib/librthread/rthread.c:145 #24 0x00000cb8a6aa861b in __tfork_thread () at /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 #25 0x0000000000000000 in ?? () Current language: auto; currently asm
Component: Audio/Video → Audio/Video: Playback
Can i chime in, guys? I'm coming from the FreeBSD world to share a few traces and thoughts about this one. First, someone already reported that bug at: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198902 Second, here goes my own trace: (gdb) bt full #0 0x000000080147714a in thr_kill () from /lib/libc.so.7 No symbol table info available. #1 0x0000000801477138 in raise () from /lib/libc.so.7 No symbol table info available. #2 0x000000080473f203 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox/libxul.so No symbol table info available. #3 0x000000080119cc0a in pthread_sigmask () from /lib/libthr.so.3 No symbol table info available. #4 0x000000080119c28c in pthread_getspecific () from /lib/libthr.so.3 No symbol table info available. #5 <signal handler called> No symbol table info available. #6 0x00000008048a2375 in js::ProtoKeyToClass () from /usr/local/lib/firefox/libxul.so No symbol table info available. #7 0x000000080489c54c in js::ProtoKeyToClass () from /usr/local/lib/firefox/libxul.so No symbol table info available. #8 0x000000080489448c in js::GetArrayBufferLengthAndData () from /usr/local/lib/firefox/libxul.so No symbol table info available. #9 0x0000000804c02604 in js::GetPropertyNameFromPC () from /usr/local/lib/firefox/libxul.so No symbol table info available. #10 0x0000000804894208 in js::GetArrayBufferLengthAndData () from /usr/local/lib/firefox/libxul.so No symbol table info available. #11 0x000000080487d769 in js::GetArrayBufferLengthAndData () from /usr/local/lib/firefox/libxul.so No symbol table info available. #12 0x0000000804bdc96e in JS::CompileOptions::CompileOptions () from /usr/local/lib/firefox/libxul.so No symbol table info available. #13 0x000000080375a101 in std::__1::__split_buffer<bool*, std::__1::allocator<bool*> >::push_front () from /usr/local/lib/firefox/libxul.so No symbol table info available. #14 0x0000000803029a64 in imgLoader::SupportImageWithMimeType () from /usr/local/lib/firefox/libxul.so No symbol table info available. #15 0x00000008030208bd in imgLoader::SupportImageWithMimeType () from /usr/local/lib/firefox/libxul.so No symbol table info available. #16 0x00000008030296e0 in imgLoader::SupportImageWithMimeType () from /usr/local/lib/firefox/libxul.so No symbol table info available. #17 0x00000008027381fd in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so No symbol table info available. #18 0x0000000802738497 in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so No symbol table info available. #19 0x0000000802735536 in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so No symbol table info available. #20 0x00000008027580c3 in std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >::__push_back_slow_path<unsigned long> () from /usr/local/lib/firefox/libxul.so No symbol table info available. #21 0x00000008029ad0be in std::__1::vector<std::__1::pair<int, int>, std::__1::allocator<std::__1::pair<int, int> > >::__push_back_slow_path<std::__1::pair<int, int> > () from /usr/local/lib/firefox/libxul.so No symbol table info available. #22 0x00000008029927c8 in std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::insert<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> > () from /usr/local/lib/firefox/libxul.so No symbol table info available. #23 0x0000000803f2169b in std::__1::__tree<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >::destroy () from /usr/local/lib/firefox/libxul.so No symbol table info available. #24 0x00000008046fcb2e in XRE_StartupTimelineRecord () from /usr/local/lib/firefox/libxul.so No symbol table info available. #25 0x00000008047480b8 in XRE_InitCommandLine () from /usr/local/lib/firefox/libxul.so No symbol table info available. #26 0x0000000804748350 in XRE_InitCommandLine () from /usr/local/lib/firefox/libxul.so No symbol table info available. #27 0x0000000804748772 in XRE_main () from /usr/local/lib/firefox/libxul.so No symbol table info available. #28 0x00000000004061d6 in _start () No symbol table info available. #29 0x0000000000405bef in _start () No symbol table info available. #30 0x0000000800673000 in ?? () No symbol table info available. #31 0x0000000000000000 in ?? () No symbol table info available. The code block that MOZ_ASSERT is guarding is one line long and the only possible reason for ASSERT to fire up is giant aInputSize that make size_t overflow: #include <stddef.h> #include <stdio.h> int main(void) { size_t x = 18446744073709551615UL; size_t y = (x + (x / 256) + 16); printf("%zu\n%zu\n", x, y); return(0); } This code compiles perfectly for me resulting in: 18446744073709551615 72057594037927950 So here we have an overflow. I think MOZ_ASSERT can be traded for NS_WARNING here: static inline size_t maxCompressedSize(size_t aInputSize) { size_t max = (aInputSize + (aInputSize / 255) + 16); if (max > aInputSize) { NS_WARNING(nsPrintfCString("maxCompressedSize overflowed: %zu", aInputSize).get()); return(SIZE_MAX); } //MOZ_ASSERT(max > aInputSize); return max; } I think the bug is not actually in the compression code, it's rather a mandelbug that makes process fail here when some other part of code requests too big memory chunk.
Probably I was wrong here. After patching maxCompressedSize function I faced another core dump: #0 0x000000080147714a in thr_kill () from /lib/libc.so.7 No symbol table info available. #1 0x0000000801477138 in raise () from /lib/libc.so.7 No symbol table info available. #2 0x0000000810140033 in workerlz4_maxCompressedSize () from /usr/local/lib/firefox/libxul.so No symbol table info available. #3 0x000000080119cc0a in pthread_sigmask () from /lib/libthr.so.3 No symbol table info available. #4 0x000000080119c28c in pthread_getspecific () from /lib/libthr.so.3 No symbol table info available. #5 <signal handler called> No symbol table info available. #6 0x0000000000000000 in ?? () No symbol table info available. #7 0x000000080e0f0e81 in NS_GetMemoryManager () from /usr/local/lib/firefox/libxul.so No symbol table info available. #8 0x000000080e0e9d84 in mozilla::TimeStamp::Now () from /usr/local/lib/firefox/libxul.so No symbol table info available. #9 0x000000080e0eccdd in NS_CycleCollectorSuspect3 () from /usr/local/lib/firefox/libxul.so No symbol table info available. #10 0x000000080eb2d7e3 in js::BaseProxyHandler::finalizeInBackground () from /usr/local/lib/firefox/libxul.so No symbol table info available. #11 0x000000080eb2eaac in js::BaseProxyHandler::finalizeInBackground () from /usr/local/lib/firefox/libxul.so No symbol table info available. #12 0x000000080e1385ed in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so No symbol table info available. #13 0x000000080e138887 in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so No symbol table info available. #14 0x000000080e135926 in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so No symbol table info available. #15 0x000000080e1584b3 in std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >::__push_back_slow_path<unsigned long> () from /usr/local/lib/firefox/libxul.so No symbol table info available. #16 0x000000080e3ad67e in std::__1::vector<std::__1::pair<int, int>, std::__1::allocator<std::__1::pair<int, int> > >::__push_back_slow_path<std::__1::pair<int, int> > () from /usr/local/lib/firefox/libxul.so No symbol table info available. #17 0x000000080e392bb8 in std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::insert<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> > () from /usr/local/lib/firefox/libxul.so No symbol table info available. #18 0x000000080f920bdb in std::__1::__tree<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >::destroy () from /usr/local/lib/firefox/libxul.so No symbol table info available. #19 0x00000008100fd94e in XRE_StartupTimelineRecord () from /usr/local/lib/firefox/libxul.so No symbol table info available. #20 0x0000000810148df8 in XRE_InitCommandLine () from /usr/local/lib/firefox/libxul.so No symbol table info available. #21 0x0000000810149090 in XRE_InitCommandLine () from /usr/local/lib/firefox/libxul.so No symbol table info available. #22 0x00000008101494b2 in XRE_main () from /usr/local/lib/firefox/libxul.so No symbol table info available. #23 0x00000000004061d6 in _start () No symbol table info available. #24 0x0000000000405bef in _start () No symbol table info available. #25 0x0000000800673000 in ?? () No symbol table info available. #26 0x0000000000000000 in ?? () No symbol table info available. What can I do more to debug the issue? Building Firefox with DEBUG makes it crash instantly...
gstreamer is going in bug 1234092
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.