Lightspark crashes on processors without SSE2

Bug #623628 reported by Mark Weaver
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Lightspark
Confirmed
Low
Unassigned

Bug Description

While trying to look up clearing cookies in Firefox without clearing the rest of the history (related to my recent invalid bug report, which is actually a gnash problem), I clicked on a YouTube video ( www.youtube.com/watch?v=OukBlXfOP8Y ). Firefox crashed. I went to a terminal and ran firefox -g. The terminal output is below:

mark@mark-desktop:~$ firefox -g

sh /usr/lib/firefox-3.6.8/run-mozilla.sh /usr/bin/gdb /usr/lib/firefox-3.6.8/firefox-bin -x /tmp/mozargs.HrE32Y

GNU gdb (GDB) 7.1-ubuntu

Copyright (C) 2010 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Type "show copying"

and "show warranty" for details.

This GDB was configured as "i486-linux-gnu".

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>...

Reading symbols from /usr/lib/firefox-3.6.8/firefox-bin...(no debugging symbols found)...done.

(gdb) run

Starting program: /usr/lib/firefox-3.6.8/firefox-bin

[Thread debugging using libthread_db enabled]

[New Thread 0xb52ffb70 (LWP 1583)]

[New Thread 0xb4afeb70 (LWP 1584)]

[New Thread 0xb42fdb70 (LWP 1585)]

[New Thread 0xb3afcb70 (LWP 1586)]

[New Thread 0xb2effb70 (LWP 1587)]

[New Thread 0xb24ffb70 (LWP 1588)]

[Thread 0xb24ffb70 (LWP 1588) exited]

[New Thread 0xb24ffb70 (LWP 1589)]

[New Thread 0xafeffb70 (LWP 1590)]

[New Thread 0xaf6feb70 (LWP 1591)]

[New Thread 0xaeefdb70 (LWP 1592)]

[Thread 0xaf6feb70 (LWP 1591) exited]

[New Thread 0xaf6feb70 (LWP 1593)]

[New Thread 0xae6a6b70 (LWP 1594)]

[New Thread 0xadea5b70 (LWP 1595)]

[New Thread 0xad3ffb70 (LWP 1596)]

[Thread 0xad3ffb70 (LWP 1596) exited]

[New Thread 0xad3ffb70 (LWP 1597)]

[Thread 0xad3ffb70 (LWP 1597) exited]

[New Thread 0xad3ffb70 (LWP 1598)]

[New Thread 0xac6ffb70 (LWP 1599)]

[New Thread 0xab0ffb70 (LWP 1600)]

[Thread 0xab0ffb70 (LWP 1600) exited]

[New Thread 0xab0ffb70 (LWP 1601)]

[New Thread 0xa77ffb70 (LWP 1602)]

[New Thread 0xa6ffeb70 (LWP 1603)]

[New Thread 0xa67fdb70 (LWP 1604)]

[New Thread 0xa5ffcb70 (LWP 1605)]

[New Thread 0xa57fbb70 (LWP 1606)]

[New Thread 0xa4ffab70 (LWP 1607)]

[New Thread 0xa47f9b70 (LWP 1608)]

X Window 3c00c4b

[Thread 0xab0ffb70 (LWP 1601) exited]

INFO: Newstream for http://s.ytimg.com/yt/swf/watch_as3-vfl184898.swf

INFO: Compressed SWF file: Version 10 Length 269921

INFO: FrameRate 12

INFO: Creating VM

INFO: Global is 0xac8dc700

[New Thread 0x9f7ffb70 (LWP 1609)]

INFO: MetaData: <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns:dc='http://purl.org/dc/elements/1.1'><dc:format>application/x-shockwave-flash</dc:format><dc:title>Adobe Flex 3 Application</dc:title><dc:description>http://www.adobe.com/products/flex</dc:description><dc:publisher>unknown</dc:publisher><dc:creator>unknown</dc:creator><dc:language>EN</dc:language><dc:date>Aug 19, 2010</dc:date></rdf:Description></rdf:RDF>

INFO: MaxRecusionDepth: 1000, ScriptTimeoutSeconds: 60

INFO: SWF Info:

 ProductId: 3

 Edition: 6

 Version: 3.2.0.3958

 CompileTime: 0

INFO: ExportAssetsTag Tag

INFO: RenderThread this=0xab3885d0

INFO: Font File is /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf

[New Thread 0xab0ffb70 (LWP 1610)]

INFO: Creating input thread

Chosen config 0x99

INFO: DestroyStream on main stream?

INFO: Fragment shader compilation

INFO: Vertex shader compilation

INFO: Faking 10 renderings

INFO: FPS: 12

INFO: FPS: 13

INFO: End of parsing @ 269921

Start download for http://v5.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0dXR1dLVl9FSkNNN19PRVpJ&fexp=900064&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1282708800&key=yt1&signature=5928692C2F94D3BC8302C7CE3CAD184A0C422FFC.0C52B42648767DCAC4598B1F73D49620E13A8497&factor=1.25&id=3ae9019577ce3fc6&hashValue=

INFO: Faking 19 renderings

http://www.youtube.com/get_video?asv=3&el=detailpage&fmt=34&hashValue=&noflv=1&t=vjVQa1PpcFOcmgWFoYAqEXGpGR-lrT3HhB39gciJsZo=&video_id=OukBlXfOP8Y

ERROR: no char to move at depth 2 name

CURL header: HTTP/1.1 204 No Content

CURL header: Date: Tue, 24 Aug 2010 21:20:08 GMT

CURL header: Server: Apache

CURL header: X-Content-Type-Options: nosniff

CURL header: Set-Cookie: use_hitbox=72c46ff6cbcdb7c5585c36411b6b334edAEAAAAw; path=/; domain=.youtube.com

CURL header: Set-Cookie: VISITOR_INFO1_LIVE=ecbAwIwEQQ4; path=/; domain=.youtube.com; expires=Thu, 21-Apr-2011 21:20:08 GMT

CURL header: Set-Cookie: GEO=8efb2d34ef223ce931e405fe708f56e6cwsAAAAzVVNHsmUkTHQ3iA==; path=/; domain=.youtube.com

CURL header: Expires: Tue, 27 Apr 1971 19:44:06 EST

CURL header: X-YouTube-MID: sWkFSZzctYUFHdmhGZ2pmdVRMaTl1WVFMNnBGMVZKRUxsSW80MXpaSmRsSWI2bTZlZFNldnZR

CURL header: Cache-Control: no-cache

CURL header: Content-Length: 0

CURL header: Content-Type: text/html; charset=utf-8

CURL header:

INFO: Newstream for http://tc.v5.cache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor%2Coc%3AU0dXR1dLVl9FSkNNN19PRVpJ&fexp=900064&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1282708800&key=yt1&signature=5928692C2F94D3BC8302C7CE3CAD184A0C422FFC.0C52B42648767DCAC4598B1F73D49620E13A8497&factor=1.25&id=3ae9019577ce3fc6&hashValue=&redirect_counter=1

via NPDownloader

INFO: FLV file: Version 1

INFO: Audio sample rate 22050

INFO: Audio channels 1

____started!!!!

INFO: Video frame size 640x480

Program received signal SIGILL, Illegal instruction.

[Switching to Thread 0xab0ffb70 (LWP 1610)]

0xaa2e3ce6 in outer_loop () from /usr/lib/lightspark/liblightspark.so.0.4

(gdb)

The results of bt are below:

#0 0xaa2e3ce6 in outer_loop () from /usr/lib/lightspark/liblightspark.so.0.4

#1 0xaa8ebff4 in ?? () from /usr/lib/lightspark/liblightspark.so.0.4

#2 0xaa2de870 in lightspark::FFMpegVideoDecoder::copyFrameToTexture (

    this=0x9be01000, tex=...) at /build/buildd/lightspark-0.4.3/decoder.cpp:264

#3 0xaa2be5ae in lightspark::NetStream::copyFrameToTexture (this=0xab922be0,

    tex=...) at /build/buildd/lightspark-0.4.3/flashnet.cpp:625

#4 0xaa2d663a in lightspark::Video::Render (this=0xab632240)

    at /build/buildd/lightspark-0.4.3/flashmedia.cpp:124

#5 0xaa2af743 in lightspark::Sprite::Render (this=0xb017dde0)

    at /build/buildd/lightspark-0.4.3/flashdisplay.cpp:379

#6 0xaa2a70c3 in lightspark::MovieClip::Render (this=0xab7f7000)

    at /build/buildd/lightspark-0.4.3/flashdisplay.cpp:656

#7 0xaa1b442c in lightspark::RootMovieClip::Render (this=0xab7f7000)

    at /build/buildd/lightspark-0.4.3/swf.cpp:1717

#8 0xaa1c329e in lightspark::RenderThread::gtkplug_worker (th=0xab3885d0)

    at /build/buildd/lightspark-0.4.3/swf.cpp:1502

#9 0xb7fbc96e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0

#10 0xb63a7a4e in clone () from /lib/tls/i686/cmov/libc.so.6

Revision history for this message
Mark Weaver (mark-weaver) wrote :

The computer is a PIII 1GHz, 1 GB RAM, NVIDIA 6200 with the current restricted drivers.

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

Lightspark needs at least an SSE2 enabled processor to work. Development of an non accelerated code path for legacy processors is being discussed.

Changed in lightspark:
status: New → Confirmed
importance: Undecided → Low
summary: - Trying to play a YouTube vidoe crashes firefox
+ Lightspark crashes on processors without SSE2
Revision history for this message
Mark Weaver (mark-weaver) wrote :

Thanks. That's good to know. I'll keep an eye on lightspark for a legacy processor version.

Revision history for this message
Jonathan Neuschäfer (j-neuschaefer) wrote :

Some time ago I've come up with a simple patch that adapts LLVM to the CPU its running on, fixing the SSE2 problem without special-casing it. (And quite probably this may make Lightspark faster on some machines.)

Revision history for this message
Jonathan Neuschäfer (j-neuschaefer) wrote :

Reading a bit more of the LS source I noticed that my patch only addresses one part of the problem, i.e. code generated by the LLVM-based ABC JIT.
The code Alessandro spoke about is used to repack video data in a certain way (see http://allievi.sssup.it/techblog/?p=238). I haven't tried it but it should be possible to compile Lightspark with the "slowpath" implementation of that repacking algorithm, thus avoiding SSE2 altogether.

Revision history for this message
Patrick McMunn (patrick-mcmunn) wrote :

I'm very interested in using Lightspark on a non-SSE2 system. Is there some way I can try this approach with the current version of Lightspark, or do additional changes need to be made to the code?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.