Skip to main content
April 6, 2008
Question

Flash crashing browsers on unload while playing stream

  • April 6, 2008
  • 1 reply
  • 301 views
I've set up the most basic test case while troubleshooting ongoing crash reports.

- drag FLVPlayer onto the stage
- add the following code to frame 1 so you can play in a bare FMS 3 server:
import fl.video.*;
VideoPlayer.iNCManagerClass = fl.video.NCManagerNative;
- set your path to any FLV file via RTMP to FMS3 (our is linux)

I can crash any browser just by repeatedly reloading the page with that movie in right as it loads. Eventually, with enough repetition, it will crash and take down the browser with a fault in "Flash_EnforceLocalSecurity". If you have video on every page of your site, you can see how this might become a bit of a problem...

Network latency will increase the frequency of crashes.

I've been chasing this for months in our own player (AS2). Finding the same thing with such a simple test case in a bare clip using the native AS3 component is really surprising.
    This topic is closed to new replies. Start a new post to keep the conversation going.

    1 reply

    April 6, 2008
    This log is from Safari on Mac OS X, but the same crash happens on Vista (FF and IE7) and Mac FF.

    Process: Safari [5504]
    Path: /Applications/Safari.app/Contents/MacOS/Safari
    Identifier: com.apple.Safari
    Version: 3.1 (5525.13)
    Build Info: WebBrowser-55251300~1
    Code Type: X86 (Native)
    Parent Process: launchd [358]

    Date/Time: 2008-04-05 23:55:32.458 -0700
    OS Version: Mac OS X 10.5.2 (9C7010)
    Report Version: 6

    Exception Type: EXC_CRASH (SIGABRT)
    Exception Codes: 0x0000000000000000, 0x0000000000000000
    Crashed Thread: 0

    Thread 0 Crashed:
    0 libSystem.B.dylib 0x928e40ea __kill + 10
    1 libSystem.B.dylib 0x9295b3f2 raise + 26
    2 libSystem.B.dylib 0x9296a9af abort + 73
    3 libstdc++.6.dylib 0x92a3e005 0x929f6000 + 294917
    4 libstdc++.6.dylib 0x92a3c10c __gxx_personality_v0 + 1108
    5 libstdc++.6.dylib 0x92a3c14b std::terminate() + 29
    6 libstdc++.6.dylib 0x92a3c6da std::type_info::~type_info() + 0
    7 ...romedia.Flash Player.plugin 0x174238f1 0x171db000 + 2394353
    8 ...romedia.Flash Player.plugin 0x174326e6 0x171db000 + 2455270
    9 ...romedia.Flash Player.plugin 0x17434f0d 0x171db000 + 2465549
    10 ...romedia.Flash Player.plugin 0x174a3511 0x171db000 + 2917649
    11 ...romedia.Flash Player.plugin 0x171ddb8b 0x171db000 + 11147
    12 ...romedia.Flash Player.plugin 0x17456ef4 0x171db000 + 2604788
    13 ...romedia.Flash Player.plugin 0x175d64f4 Flash_EnforceLocalSecurity + 64288
    14 ...romedia.Flash Player.plugin 0x175ce9be Flash_EnforceLocalSecurity + 32746
    15 ...romedia.Flash Player.plugin 0x175c6a15 Flash_EnforceLocalSecurity + 65
    16 com.apple.WebKit 0x9072a145 -[WebBaseNetscapePluginView(Internal) _destroyPlugin] + 37
    17 com.apple.WebKit 0x9072a0c2 -[WebBaseNetscapePluginView stop] + 322
    18 com.apple.WebKit 0x90722e45 -[WebBaseNetscapePluginView viewWillMoveToSuperview:] + 53
    19 com.apple.AppKit 0x9327c37b -[NSView _setSuperview:] + 279
    20 com.apple.AppKit 0x932860a9 -[NSView removeFromSuperview] + 338
    21 com.apple.WebCore 0x90246772 WebCore::safeRemoveFromSuperview(NSView*) + 178
    22 com.apple.WebCore 0x90246670 WebCore::Widget::removeFromSuperview() + 208
    23 com.apple.WebCore 0x90243461 WebCore::RenderWidget::destroy() + 129
    24 com.apple.WebCore 0x9017690f WebCore::Node::detach() + 47
    25 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    26 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    27 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    28 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    29 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    30 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    31 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    32 com.apple.WebCore 0x9017680b WebCore::ContainerNode::detach() + 43
    33 com.apple.WebCore 0x90176732 WebCore::Document::detach() + 178
    34 com.apple.WebCore 0x9011dbaf WebCore::FrameLoader::clear(bool, bool) + 639
    35 com.apple.WebCore 0x902b7cba WebCore::FrameLoader::open(WebCore::CachedPage&) + 570
    36 com.apple.WebCore 0x901181ba WebCore::FrameLoader::commitProvisionalLoad(WTF::PassRefPtr<WebCore::CachedPage>) + 186
    37 com.apple.WebCore 0x902b7a18 WebCore::DocumentLoader::loadFromCachedPage(WTF::PassRefPtr<WebCore::CachedPage>) + 88
    38 com.apple.WebCore 0x902a1079 WebCore::FrameLoader::loadProvisionalItemFromCachedPage() + 73
    39 com.apple.WebCore 0x90169abd WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool) + 477
    40 com.apple.WebCore 0x90169847 WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy(void*, WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool) + 55
    41 com.apple.WebCore 0x90167846 WebCore::FrameLoader::checkNavigationPolicy(WebCore::ResourceRequest const&, WebCore::DocumentLoader*, WTF::PassRefPtr<WebCore::FormState>, void (*)(void*, WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool), void*) + 582
    42 com.apple.WebCore 0x901669a7 WebCore::FrameLoader::load(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr<WebCore::FormState>) + 199
    43 com.apple.WebCore 0x902a033c WebCore::FrameLoader::loadItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 428
    44 com.apple.WebCore 0x9029fedc WebCore::FrameLoader::recursiveGoToItem(WebCore::HistoryItem*, WebCore::HistoryItem*, WebCore::FrameLoadType) + 236
    45 com.apple.WebCore 0x9029fd60 WebCore::FrameLoader::goToItem(WebCore::HistoryItem*, WebCore::FrameLoadType) + 144
    46 com.apple.WebCore 0x9029fc6f WebCore::Page::goBack() + 47
    47 com.apple.WebKit 0x9073362d -[WebView goBack] + 29
    48 com.apple.WebKit 0x90746ba8 -[WebFrameView keyDown:] + 920
    49 com.apple.AppKit 0x933f714f forwardMethod + 113
    50 com.apple.AppKit 0x933f714f forwardMethod + 113
    51 com.apple.AppKit 0x933f714f forwardMethod + 113
    52 com.apple.AppKit 0x93501b63 -[NSControl keyDown:] + 129
    53 com.apple.WebKit 0x9072bda0 -[WebHTMLView keyDown:] + 400
    54 com.apple.AppKit 0x9336b6fd -[NSWindow sendEvent:] + 8511
    55 com.apple.Safari 0x0002b503 0x1000 + 173315
    56 com.apple.AppKit 0x93337714 -[NSApplication sendEvent:] + 2780
    57 com.apple.Safari 0x0002af88 0x1000 + 171912
    58 com.apple.AppKit 0x932950f9 -[NSApplication run] + 847
    59 com.apple.AppKit 0x9326230a NSApplicationMain + 574
    60 com.apple.Safari 0x000b9a76 0x1000 + 756342