gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] Re: Unexpected exception during rendering calls (was: fix mi


From: strk
Subject: [Gnash-dev] Re: Unexpected exception during rendering calls (was: fix mixing sounds with Gstreamer backend)
Date: Tue, 14 Nov 2006 13:55:28 +0100

Well, if we're taking too much memory we can't really tell
when we'll going to run out of it. I guess a proper approach
would be producing a diagram of where most memory goes,
and I think valgrind is able to produce such diagram
(massif tool)

--strk;

On Wed, Nov 15, 2006 at 06:03:32AM +0900, Hiroyuki Ikezoe wrote:
> 2006-11-14 (Tue) の 12:38 +0100 に strk さんは書きました:
> > On Wed, Nov 15, 2006 at 05:12:56AM +0900, Hiroyuki Ikezoe wrote:
> > 
> > > Well, I can not play gangsta_rap_se.swf yet. Because it causes crash
> > > with X server, I have never gotten any causes.
> (snip)
> > > And gnash with -r2 option seems to work. 
> > 
> > Ok, so this might be related to bitmaps created during parsing.
> > If you specify -r2 *or* -r0 the NullGui is initialized, which
> > does *not* use any renderer.
> > So, if you can reproduce with Gui enabled (-r1 or -r3) the next
> > step would be:
> > 
> >     1) try with both AGG and OpenGL (to see if either one
> >        is doing better)
> > 
> >     2) show some more backtrace to find out what's
> >        the offending routine (seems a problem related to
> >        the caching mechanism we've been discussing in the past)
> 
> In the case of AGG backend with -r1 and -r3 option, backtrace is exactly
> the same as I reported before.
> In the case of cairo with -r1, the backtrace is:
> 
> #0  0xbcff00ab in kill () from /usr/lib/libc.so.12
> #1  0xbd07110f in abort () from /usr/lib/libc.so.12
> #2  0xbd1649dc in __cxxabiv1::__terminate(void (*)()) ()
>    from /usr/lib/libstdc++.so.5
> #3  0xbd164a10 in std::terminate() () from /usr/lib/libstdc++.so.5
> #4  0xbd1649bf in __cxa_rethrow () from /usr/lib/libstdc++.so.5
> #5  0xbdb78a00 in std::vector<gnash::path, std::allocator<gnash::path>
> >::_M_insert_aux(__gnu_cxx::__normal_iterator<gnash::path*,
> std::vector<gnash::path, std::allocator<gnash::path> > >, gnash::path
> const&) (this=0x100466ac, __position=
> 
> {<iterator<std::random_access_iterator_tag,gnash::path,int,gnash::path*,gnash::path&>>
>  = {<No data fields>}, _M_current = 0x10045240}, address@hidden)
>     at /usr/include/g++/bits/vector.tcc:251
> #6  0xbdb776b7 in gnash::shape_character_def::read(gnash::stream*, int,
> bool, gnash::movie_definition*) (this=0x10046680, in=0x80e0780,
> tag_type=32,
>     with_style=1, m=0x80f5800) at /usr/include/g++/bits/stl_vector.h:371
> #7  0xbdb1fdca in
> gnash::SWF::tag_loaders::define_shape_loader(gnash::stream*,
> gnash::SWF::tag_type, gnash::movie_definition*) (in=0x80e0780,
>     tag=DEFINESHAPE3, m=0x80f5800) at swf/tag_loaders.cpp:683
> #8  0xbdb6ab5e in gnash::movie_def_impl::read_all_swf() (this=0x80f5800)
>     at movie_def_impl.cpp:917
> #9  0xbdb6422f in gnash::MovieLoader::execute(void*) (arg=0x80f5800)
>     at movie_def_impl.cpp:92
> #10 0xbd0a10bd in pthread_create () from /usr/lib/libpthread.so.0
> 
> 
> The backtrace of cairo backend with -r3 option is:
> 
> #0  0xbcff00ab in kill () from /usr/lib/libc.so.12
> #1  0xbd07110f in abort () from /usr/lib/libc.so.12
> #2  0xbd1649dc in __cxxabiv1::__terminate(void (*)()) ()
>    from /usr/lib/libstdc++.so.5
> #3  0xbd164a10 in std::terminate() () from /usr/lib/libstdc++.so.5
> #4  0xbd164961 in __cxa_throw () from /usr/lib/libstdc++.so.5
> #5  0xbd163fe6 in operator new(unsigned) () from /usr/lib/libstdc++.so.5
> #6  0xbd163f43 in operator new[](unsigned) () from /usr/lib/libstdc
> ++.so.5
> #7  0xbdbc6fd7 in
> gnash::renderer::cairo::bitmap_info_cairo::bitmap_info_cairo(image::rgb*) 
> (this=0xfb262c0, im=0xfb8ee80) at render_handler_cairo.cpp:696
> #8  0xbdbc8107 in
> gnash::renderer::cairo::render_handler_cairo::create_bitmap_info_rgb(image::rgb*)
>  (this=0x819a200, im=0xfb8ee80)
>     at render_handler_cairo.cpp:270
> #9  0xbdaa40bd in gnash::render::create_bitmap_info_rgb(image::rgb*) (
>     im=0xfb8ee80) at render.cpp:72
> #10 0xbdb5fc0c in
> gnash::bitmap_character_def::bitmap_character_def(std::auto_ptr<image::rgb>) 
> (this=0xfbc1540, address@hidden)
>     at /usr/include/g++/memory:284
> #11 0xbdb1eba9 in
> gnash::SWF::tag_loaders::define_bits_jpeg_loader(gnash::stream*,
> gnash::SWF::tag_type, gnash::movie_definition*) (in=0x81795e0,
>     tag=DEFINEBITS, m=0x819a400) at /usr/include/g++/memory:299
> #12 0xbdb6ab5e in gnash::movie_def_impl::read_all_swf() (this=0x819a400)
>     at movie_def_impl.cpp:917
> #13 0xbdb6422f in gnash::MovieLoader::execute(void*) (arg=0x819a400)
>     at movie_def_impl.cpp:92
> #14 0xbd0a10bd in pthread_create () from /usr/lib/libpthread.so.0
> 
> 
> I will try to catch the backtrace of OpenGL backend.
> 

-- 

 /"\    ASCII Ribbon Campaign
 \ /    Respect for low technology.
  X     Keep e-mail messages readable by any computer system.
 / \    Keep it ASCII. 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]