bugGnash - The GNU Flash player - Bugs: bug #34606, gnash crashes when trying to play...

 
 

bug #34606: gnash crashes when trying to play video.

Submitted by:  None
Submitted on:  Thu 20 Oct 2011 07:26:20 PM UTC  
 
Category: NoneSeverity: 4 - Important
Release: otherStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Tue 01 Nov 2011 08:06:45 PM UTC, comment #18:

gnash from backports should work either.
What about reinstalling it without debian-multimedia.org packages?

Gabriele Giacone <gg0>
Project Member
Tue 01 Nov 2011 07:43:46 PM UTC, comment #17:

That worked, uninstalling or downgrading a number of other things along the way. Meant downgrading *-n gnash *-n to 0.8.8 which was the version I was running when I first came to irc about this. But downgrading the av stuff, 0.8.8 now works.

Now I have to figure out what no longer works because of the downgrades. Probably, a media player or movie editor. Anyway, thanks for all your help and patience with me figuring out how to get a useful backtrace.

Anonymous
Mon 31 Oct 2011 08:59:26 PM UTC, comment #16:

I see you get packages from debian-multimedia.org. Better downgrading to debian ones in order to be able to file a bug against libav if needed.

# apt-get install libavcodec52=4:0.5.4-1 libavdevice52=4:0.5.4-1 libavformat52=4:0.5.4-1 ffmpeg-dbg=4:0.5.4-1
# apt-get remove libavutil50 libavcore-dev libavcore0

I didn't try to install them as above, maybe you'll have to do with dependencies.
It may also be that downgrading it no longer segfaults.

Gabriele Giacone <gg0>
Project Member
Mon 31 Oct 2011 07:56:00 PM UTC, comment #15:

$ dpkg -l "libav"

the transcript of the trial with libav-dbg installed is attached as gnash-dbg.script.14. Still lots of "0x100482c4 in ?? ()" in the output.

(file #24260)

Anonymous
Mon 31 Oct 2011 03:13:48 AM UTC, comment #14:

Install libav-dbg and retake backtrace.

Similar to:

https://savannah.gnu.org/bugs/?32990
http://bugs.debian.org/639948

Please $ dpkg -l|grep libav

I've tried to reproduce it on a qemu ppc but I got "Illegal instruction". Rebuilding it would take a life.

To avoid page break:
$ echo set pagination 0 >> ~/.gdbinit

Gabriele Giacone <gg0>
Project Member
Mon 31 Oct 2011 02:18:51 AM UTC, comment #13:

got debugging output. Not sure what fixed it cause I changed two things on my latest try:

1) instead of

ran

and 2), vi debian/rules to change DEB_BUILD_HARDENING to 0 in line 3 as suggested by Gabriele

Whichever one it was, I now have useful backtrace info, except for a few lines re libavcodec. I'm attaching the transcript of this debugging session below as file gnash-dbg.script.11

(file #24254)

Anonymous
Tue 25 Oct 2011 05:07:51 PM UTC, comment #12:

Decidely, my kungfu is not strong. Still getting the same sparse bt output.

# rm all previously created .deb files in parent of working dir.
# aptitude purge everything with gnash in the name.

$ PATH=/usr/lib/ccache:$PATH DEB_BUILD_OPTIONS="nostrip noopt" dpkg-buildpackage -rfakeroot -uc -us

Many warnings along the lines of:

  • jemalloc.c:2574: warning: unused parameter ‘zero’
  • jemalloc.c:5913: warning: no previous prototype for ‘memalign’
  • jemalloc.c:2072: warning: ‘extent_tree_szad_psearch’ defined but not used
  • gstutils.h:700: warning: cast from type ‘const guint8’ to type ‘guint8’ casts away constness
  • MediaParserGst.cpp:258: warning: comparison of unsigned expression >= 0 is always true
  • MediaParserFfmpeg.cpp:399: warning: ‘AVFormatContext::title’ is deprecated (declared at /usr/include/libavformat/avformat.h:744)
  • fileio.cpp:110: warning: no matching file member found for

static void gnash::attachInterface(gnash::as_object &obj)Possible candidates:

    • static void attachInterface(as_object &obj)
    • static void attachInterface(as_object *obj)
  • movie_root.cpp:1768: warning: Unsupported xml/html tag </invoke> found
  • movie_root.cpp:1774: warning: included file ExternalInterace::call is not found. Check your EXAMPLE_PATH
  • libtool: install: warning: remember to run `libtool --finish /usr/lib/gnash'
  • libtool: install: warning: `libnet/libgnashnet.la' has not been installed in `/usr/lib/gnash'
  • dpkg-shlibdeps: warning: dependency on libxml2.so.2 could be avoided if "debian/gnash-common/usr/lib/gnash/libgnashmedia-0.8.10.so" were not uselessly linked against it (they use none of its symbols).

and some errors such as:

  • gtksup.h:122: warning: argument 'msg' of command @param is not found in the argument list of gnash::GtkGui::error(const std::string &) inherited from member error at line 411 in file /var/tmp/gnash-0.8.10~git20110618/gui/gui.h

but nothing that seems to have been a show stopper.

However, the bt output is still lacking useful detail.

Anything else worth trying?

Anonymous
Mon 24 Oct 2011 07:49:15 PM UTC, comment #11:

Just discovered another version of multivalue vars on the web, so have tried 'DEB_BUILD_OPTIONS="nostrip noopt"'. Appears to have started without generating any warnings. I'm going to let it build.

Any comments about make clean'ing and about removal and reinstallation of packages resulting from new iterations of the build process , but with the same version numbers, all, are welcome.

Anonymous
Mon 24 Oct 2011 06:58:15 PM UTC, comment #10:

Encountered more difficulties.

yields the warning:

Also tried:

and, a la $PATH,

but all generated a similar warning.

Couldn't find anything in either man bash or man dpkg-buildpackage that would shed any light on the correct syntax of multi-value vars, so I went with

This compiled, but the resulting program gave the same minimalist backtrace, the last few lines of which are:

More concisely, here is what I've done:

  1. $ vi debian/rules to change the mv to -mv re the pyshared
  2. $ PATH=/usr/lib/ccache:$PATH DEB_BUILD_OPTIONS=nostrip dpkg-buildpackage -rfakeroot -uc -us
  3. # aptitude purge gnash which also rem'd browser-plugin- & -opengl
  4. # dpkg -i gnash-opengl_0.8.10~git20110618-3~bpo60+1_all.deb
  5. # dpkg -i gnash_0.8.10~git20110618-3~bpo60+1_powerpc.deb
  6. $ gnash-debug-5.sh
  7. (gdb) run <enter> 2 to 5 times
  8. Push play button on resulting player screen
  9. Select a thumbnail that appears on bottom (segfault)
  10. (gdb) bt

which gives the example above.

Do I need to do a make clean or anything like that between consecutive build attempts?
Should I purge the whole gnash suite and reinstall everything given that the version numbers are the same between what I got from backports and what I am building on my own now?
In general, are any suggextions from anyone?

Thanks,

web21

Anonymous
Sat 22 Oct 2011 10:52:32 PM UTC, comment #9:

nostrip makes dh_strip not stripping anything: no symbols to move.
Replace "mv" with "-mv".
I'll fix it in a better way.

To speed builds up (after the first one):

# apt-get install ccache
$ export PATH=/usr/lib/ccache:$PATH

Gabriele Giacone <gg0>
Project Member
Sat 22 Oct 2011 08:07:21 PM UTC, comment #8:

Well, I don't think I can go any farther with this on my own. I tried running gdb with debugging symbols installed (aptitude -t squeeze-backports install gnash-dbg; symbol-file /path/to/gtk-gnash before "run") but the bt output was the same as without the debugging symbols.

Next I tried what I believe is the process for creating a debian package with debugging symbols compiled in:

  1. # aptitude -R build-dep gnash
  2. $ apt-get source gnash
  3. $ cd gnash-0.8.10~git20110618/
  4. $ DEB_BUILD_OPTIONS=nostrip,noopt dpkg-buildpackage -rfakeroot -uc -us

Everything was looking good until, about 3 hours later:

As far as mv goes, there is no lib/ under debian/gnash-dbg/usr/, only a share/.

As for the rest, I did a couple of web searches on the binary Error 2 and the dpkg-bldpkg exit status 2 error msgs, but didn't come up with anything I could understand, and I don't really have the time to learn about the whole make process and debian package building process at the present time.

Finding my way this far took me the better part of a day, so unless someone can help me figure out why my pkg didn't build, I'm afraid I can't take this any further on my end.

Anonymous
Fri 21 Oct 2011 06:01:57 PM UTC, comment #7:

Install gnash-dbg (debug symbols)

Gabriele Giacone <gg0>
Project Member
Fri 21 Oct 2011 04:37:07 PM UTC, comment #6:

Don't you'll be much happier with the valgrind output:

  1. vi gnash-debug-5.sh to replace "gdb --args" with "valgrind"
  2. $ ./gnash-debug-5.sh > gnash-valgrind-report_01.txt 2>&1
  3. $ cat gnash-valgrind-report_01.txt

**Segmentation fault
$

Going to try to get help compiling gnash package with debug symbols. If I get that to work, will run with gdb --args again.

Anonymous
Fri 21 Oct 2011 03:57:06 PM UTC, comment #5:

Ouch, that's indeed not that useful.
Maybe you can try with valgrind ?
Replace "gdb --args" with "valgrind" (and you need to have valgrind installed).
Valgrind report will be written on stderr, so you'll need to redirect that to a file:

./gnash-debug-5-valgrind.sh 2> valgrind-report.txt

Sandro Santilli <strk>
Project Member
Fri 21 Oct 2011 03:45:02 PM UTC, comment #4:

I'm guessing this will fall into the not that useful category. An interesting thing happened this run. rather than crashing pretty much right away once the play button was pushed, I got a bunch of thumbnails across the bottom of the screen that I could react with: moving the mouse over the row of thumbs caused the row to scroll left or right, but once I chose a thumbnail to click on, it crashed. Never got that far before.

Anyway, given that the first part of this run seemed to my naive eyes to be the same as the previously posted one, I'm only includeing the part from the segfault onwards. here it is, inline:

hope this helps

Anonymous
Fri 21 Oct 2011 07:28:54 AM UTC, comment #3:

Wholly: once in the gdb prompt, after the segfault, you can type:
``bt'' to get a backtrace. Report (inline in a commit is fine) the result of that command.

I'm hoping you have a binary of gnash with debugging symbols in it, or won't be that helpful. If you do, you'll see filenames and line numbers in the backtrace. If you don't you'll have to build gnash yourself (which would be much better for further debugging anyway).

Sandro Santilli <strk>
Project Member
Thu 20 Oct 2011 10:49:52 PM UTC, comment #2:

following strk suggestions on irc once again.

First, ran the 5th script with -vv, same results as before.

Next, added "gdb --args" to the beginning of the invocation of gtk-gnash. Ran it inside of script session. The script output is attached. Summary: entered "run" at the prompt, then had to enter <return> 5 times to get to the launch of the gnash window. Hit the play button on the player to get the errors.

(file #24176)

Anonymous
Thu 20 Oct 2011 07:35:31 PM UTC, comment #1:

The powerpc is a big endian architecture, so it's probably a byte order problem. All the other platforms Gnash runs on happen to be little endian.

Rob Savoye <rsavoye>
Project Administrator
Thu 20 Oct 2011 07:26:20 PM UTC, original submission:

gnash 0.8.10 installed from backports on debian stable (6, squeeze) on powerpc (ibook, g4, early 2004) with iceweasel 3.5.16 as the browser.

though not tested with writelauncher as below, 0.8.8 also died with a grey screen upon pressing the play button of the video player. 0.8.8 is the version native to debian 6 squeeze.

When playing video from youtube or facebook, I can get as far as the player with the buttons and progress meter across the bottom, but clicking play, the screen goes grey and that's the end of things.

Following instructions provided by strk on the #gnash irc channel allowed me to come up with the information that follows.

  1. quit all instances of iceweasel.
  2. start iceweasel from command line:
    • "GNASH_OPTIONS=writelauncher iceweasel &"
  1. try to play a video
  2. run the scripts /tmp/gnash-debug-[1-5].sh that are generated

The results of running the scripts are as follows:

/tmp/gnash-debug-1.sh
Opened a standalone gnash window with only a title bar and menu bar.

/tmp/gnash-debug-2.sh
Opened nothing but gave the error "Error: invalid url"

/tmp/gnash-debug-3.sh
Opened a window as for script 1 above except this window also had a screen area.

/tmp/gnash-debug-4.sh
Opened nothing but gave the error "Error: invalid url"

/tmp/gnash-debug-5.sh
Opened a window as in 3 with player controls visible and a frame of the video visible. Clicking play briefly started the little circle of turning dots telling me to wait, however, before anything played, the window disappeared with a seg fault and the following output on the console:

The scripts /tmp/gnash-debug-[2-5].sh are attached to this bug report. As I can only attach 4 files, the script /tmp/gnash-debug-1.sh, the shortest, is quoted here (it's 3 lines but the last one wrapped):

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #24260:  gnash-dbg.script.14 added by None (14KiB - application/octet-stream)
file #24254:  gnash-dbg.script.11 added by None (13KiB - application/octet-stream)
file #24176:  gnash-dbg.script added by None (11KiB - application/octet-stream)
file #24172:  gnash-debug-2.sh added by None (9KiB - text/x-sh - follow-up: -unavailable-)
file #24173:  gnash-debug-4.sh added by None (9KiB - text/x-sh - follow-up: -unavailable-)
file #24174:  gnash-debug-3.sh added by None (9KiB - text/x-sh - follow-up: -unavailable-)
file #24175:  gnash-debug-5.sh added by None (9KiB - text/x-sh - follow-up: -unavailable-)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by gg0 (Posted a comment)
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by strk (reporter)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 11 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 12 Feb 2012 01:05:22 PM UTCgg0StatusNone=>Fixed
      Open/ClosedOpen=>Closed
    Mon 31 Oct 2011 07:56:00 PM UTCNoneAttached File-=>Added gnash-dbg.script.14, #24260
    Mon 31 Oct 2011 02:18:51 AM UTCNoneAttached File-=>Added gnash-dbg.script.11, #24254
    Fri 21 Oct 2011 07:29:12 AM UTCstrkSeverity3 - Normal=>4 - Important
    Fri 21 Oct 2011 07:28:54 AM UTCstrkCarbon-Copy-=>Added -unavailable-
    Thu 20 Oct 2011 10:49:52 PM UTCNoneAttached File-=>Added gnash-dbg.script, #24176
    Thu 20 Oct 2011 07:26:21 PM UTCNoneAttached File-=>Added gnash-debug-2.sh, #24172
      Attached File-=>Added gnash-debug-4.sh, #24173
      Attached File-=>Added gnash-debug-3.sh, #24174
      Attached File-=>Added gnash-debug-5.sh, #24175

    Back to the top


    Powered by Savane 3.1-cleanup1