Giter Site home page Giter Site logo

Comments (22)

i-rinat avatar i-rinat commented on July 17, 2024

Could you get a backtrace?

$ ulimit -c unlimited
$ firefox
... then after it crashes, file name `core' appears in the current directory
$ gdb /usr/lib/xulrunner-30/plugin-container core
(gdb) thread apply all bt

You may have plugin-container in different directory, I think it depends on distribution you use.

from libvdpau-va-gl.

micpub avatar micpub commented on July 17, 2024

wasnt able to get coredump of plugin-container - maybe because whole firefox didnt crash?
ive tried to launch plugin-container using exact same way as firefox does (its command line options etc) but firefox keeps creating its own process - it ignores the one ive started via gdb....

so ive disabled firefox crash protection using about:config dom.ipc.plugins.enabled -> false
then ran firefox like this:
gdb --args /usr/lib/firefox/firefox -safe-mode
and it crashed nicely - gdb catched it
here is the log from "thread apply all bt"
https://gist.github.com/micpub/7774744bdc6a622e74d5

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

vaTerminate

There was use-after-free error in vaTerminate reported recently against libva. Try to rebuild libva with this patch: http://lists.freedesktop.org/archives/libva/2014-June/002400.html

from libvdpau-va-gl.

micpub avatar micpub commented on July 17, 2024

it works now,

if someone has crashes also here are the steps:

download:
http://cgit.freedesktop.org/libva/snapshot/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9.zip
unzip
./autogen.sh --enable-i965-driver --prefix=/usr
make -j num_cores_ur_cpu_have

copy    dummy_drv_video/.libs/dummy_drv_video.so  into /usr/lib/x86_64-linux-gnu/dri/dummy_drv_video.so
copy   va/.libs/libva.so.1.3400.0  into  /usr/lib/x86_64-linux-gnu/libva.so.1.3500.0
notice the ver is different so either change it from 3400 to 3500 or copy as 3400 and make symlink named libva.so  and libva.so.1 point to 3400 ver

would be nice to make it work for everyone - ie. somehow update ubuntus repo: package name: "libva1"
should i create bug report on launchpad and link this bugreport there? or you have some 'better way' to do it?

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

should i create bug report on launchpad and link this bugreport there?

It would be nice. Although libva project fixed this issue in their staging branch, master branch still have the error, as well as packages in various linux distributions.

from libvdpau-va-gl.

spidey avatar spidey commented on July 17, 2024

Wow, I was messing around with nspluginwrapper running the 32 bits version of flash. Couldn't be happier to know that this is going to be available soon! Hooray!

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

I get the exact same crash, but I can't get the workaround to work, says I need libdrm installed, but im using linux mint 17 64 bit and the only libdrm I have is libdrm2 and libdrm1-intel

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

@buuf, try to add variable VDPAU_QUIRKS=xclosedisplay to the environment before you start browser.

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

@i-rinat I can't get the steps written by @micpub to work. I can't compile it without a configure warning:

configure: WARNING: unrecognized options: --enable-i965-driver

libva - 1.2.0.pre1 (VA-API 0.34.0)

Installation prefix .............. : /usr
Default driver path .............. : ${exec_prefix}/lib/dri
Extra window systems ............. : drm
Build dummy driver ............... : yes
Build documentation .............. : no

Now type 'make' to compile libva.

And I can't run make wither w/out error 2:

make -j
make  all-recursive
make[1]: Entering directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9'
Making all in va
make[2]: Entering directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/va'
Making all in drm
make[3]: Entering directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/va/drm'
  CC       va_drm.lo
  CC       va_drm_utils.lo
  CCLD     libva_drm.la
make[3]: Leaving directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/va/drm'
make[3]: Entering directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/va'
  CC       va.lo
  CC       va_compat.lo
  CC       va_fool.lo
  CC       va_trace.lo
  CC       va_tpi.lo
va_fool.c: In function 'va_FoolFillCodedBufEnc':
va_fool.c:269:13: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
         read(fd, fool_ctx->segbuf_enc, file_stat.st_size);
             ^
va_fool.c: In function 'va_FoolFillCodedBufJPG':
va_fool.c:295:13: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result]
         read(fd, fool_ctx->segbuf_jpg, file_stat.st_size);
             ^
va_trace.c: In function 'truncate_file':
va_trace.c:284:14: warning: ignoring return value of 'ftruncate', declared with attribute warn_unused_result [-Wunused-result]
     ftruncate(fileno(fp), 0);
              ^
  CCLD     libva.la
  CCLD     libva-tpi.la
  CCLD     libva-drm.la
make[3]: Leaving directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/va'
make[2]: Leaving directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/va'
Making all in dummy_drv_video
make[2]: Entering directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/dummy_drv_video'
make[2]: *** No rule to make target `../va/libva-x11.la', needed by `dummy_drv_video.la'.  Stop.
make[2]: *** Waiting for unfinished jobs....
  CC       dummy_drv_video.lo
make[2]: Leaving directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9/dummy_drv_video'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mack/Downloads/libva-d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9'
make: *** [all] Error 2

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

I tried to add the variable @i-rinat and FWIW, it still crashed:

[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
[VS] warning (softVdpDeviceDestroy): non-zero reference count (14). Trying to free child objects.

But I didn't get the workaround by @micpub implemented properly.

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

@buuf, I was wrong about VDPAU_QUIRKS=XCloseDisplay workaround. It prevents XCloseDisplay from being called, but that was another issue with recent OpenGL drivers. It doesn't help with vaTerminate bug.

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

@buuf, download libva of version 1.3.1-3 from trusty repositories, this version have the bug fixed.

http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-dev_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-drm1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-egl1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-glx1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-tpi1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-wayland1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva-x11-1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/libva1_1.3.1-3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/libv/libva/vainfo_1.3.1-3_amd64.deb

I don't know whenever you need all these packages, but I installed them all in my Mint 17 instance, made a libvdpau-va-gl rebuild, and crashes have gone. Note, you still need VDPAU_QUIRKS=XCloseDisplay to prevent another issue that causes crashes too.

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

@i-rinat I was using VDPAU_QUIRKS=xclosedisplay VDPAU_QUIRKS=AvoidVA VDPAU_DRIVER=va_gl firefox for the time begin that stopped all the crashes, but I don't think one would want to not use VA, right? I'll try to install the new version.

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

That worked, thanks @i-rinat
Even though I get the same output in terminal, firefox doesn't crash when using flash player and it does what its intended to do, bring HW acceleration to flash on my computer. Awesome!

[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
libva info: VA-API version 0.35.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
[VS] warning (softVdpDeviceDestroy): non-zero reference count (14). Trying to free child objects.
[Child 23618] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23618] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23627] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23627] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23635] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23635] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23643] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23643] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23652] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23652] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23660] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23660] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

I was using VDPAU_QUIRKS=xclosedisplay VDPAU_QUIRKS=AvoidVA

Latter assignment overcomes the former one, so xclosedisplay is actually not used. If you need multiple values, use comma to separate them: VDPAU_QUIRKS=XCloseDisplay,AvoidVA

but I don't think one would want to not use VA, right?

I don't remember why I did add that quirk, but it still makes sense to use libvdpau-va-gl for accelerating scaling only. Video decoding itself doesn't take as much CPU as software scaling can take.

[Child 23618] ###!!! ABORT: Recursive layout module initialization:

There is something wrong, and plugin-container still crashes. Don't know why.

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

OK, but I know that adobe flash doesn't crash anymore for me during use.

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

I spoke too soon, flash is back to crashing for me.
Enabling VDPAU_QUIRKS=XCloseDisplay,AvoidVA solves it,
but flash (on youtube) shows accelerated video rendering, software video decoding because of it.

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

Enabling VDPAU_QUIRKS=XCloseDisplay,AvoidVA solves it,

What about VDPAU_QUIRKS=XCloseDisplay alone, without AvoidVA?

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

Then it crashes with the error shown here:

[VS] warning (softVdpDeviceDestroy): non-zero reference count (14). Trying to free child objects.
[Child 23618] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23618] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23627] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23627] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23635] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23635] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv

[Child 23643] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377
[Child 23643] ###!!! ABORT: Recursive layout module initialization: file /build/buildd/firefox-32.0.3+build1/layout/build/nsLayoutModule.cpp, line 377

from libvdpau-va-gl.

i-rinat avatar i-rinat commented on July 17, 2024

These errors are merely symptoms, not causes. I don't think it's possible to debug a problem remotely without ability to reproduce it on a local machine.

Try to collect core file and acquire backtrace using gdb, if you know how to do it. Running under valgrind can also help to find bug.
These notes may be useful, if you are new to debugging: https://github.com/i-rinat/freshplayerplugin/blob/master/doc/debugging-guide.md#use-gdb-to-get-a-backtrace

from libvdpau-va-gl.

buuf avatar buuf commented on July 17, 2024

I have since stop using all VDPAU_QUIRKS and so far flash is a LOT more stable and still showing accelerated video rendering and decoding.
If I have worse workability from flash I will try degugging it and come back with results.

from libvdpau-va-gl.

antmak avatar antmak commented on July 17, 2024

Fix "XCloseDisplay Disables calling of XCloseDisplay which may segfault on systems with some AMD and Intel cards" in Readme file, please. I solved this bug on firefox-33, libva-1.2.1, fedora 20 x86_64, master libvdpau-va-gl on Intel Ironlake GPU by adding XCloseDisplay to VDPAU_QUIRKS

from libvdpau-va-gl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.