Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing iframe with video is causing Servo to crash #22931

Closed
ocerman opened this issue Feb 24, 2019 · 0 comments
Closed

Removing iframe with video is causing Servo to crash #22931

ocerman opened this issue Feb 24, 2019 · 0 comments

Comments

@ocerman
Copy link

@ocerman ocerman commented Feb 24, 2019

HTML:

<!DOCTYPE html>
<html>
    <body>
        <iframe id="iframe" src="http://player.vimeo.com/video/60897896?autoplay=1" width="800" height="450"></iframe>
        <br>
        <button type="button" id="close" onclick="document.getElementById('iframe').remove();">Remove iframe</button>
    </body>
</html>

Steps to reproduce:

  • Load HTML file
  • Wait till video starts playing
  • click on "Remove iframe" button

Backtrace:

ondrej@RYZEN3:~/apps/servo$ ./servo test.html 
mesa: for the -simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the -global-isel-abort option: may only occur zero or one times!
called `Result::unwrap()` on an `Err` value: () (thread <unnamed>, at src/libcore/result.rs:997)
[2019-02-24T13:39:55Z ERROR servo] called `Result::unwrap()` on an `Err` value: ()
called `Result::unwrap()` on an `Err` value: RecvError (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at src/libcore/result.rs:997)
called `Result::unwrap()` on an `Err` value: RecvError (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at src/libcore/result.rs:997)
Unexpected script channel panic in constellation: RecvError (thread Constellation, at src/libcore/result.rs:997)
[2019-02-24T13:39:55Z ERROR servo] called `Result::unwrap()` on an `Err` value: RecvError
[2019-02-24T13:39:55Z ERROR servo] called `Result::unwrap()` on an `Err` value: RecvError
[2019-02-24T13:39:55Z ERROR servo] Unexpected script channel panic in constellation: RecvError
called `Result::unwrap()` on an `Err` value: Io(Custom { kind: ConnectionReset, error: StringError("All senders for this socket closed") }) (thread StorageManager, at src/libcore/result.rs:997)
[2019-02-24T13:39:55Z ERROR servo] called `Result::unwrap()` on an `Err` value: Io(Custom { kind: ConnectionReset, error: StringError("All senders for this socket closed") })
called `Result::unwrap()` on an `Err` value: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }) (thread <unnamed>, at src/libcore/result.rs:997)
[2019-02-24T13:39:55Z ERROR servo] called `Result::unwrap()` on an `Err` value: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })
fatal runtime error: failed to initiate panic, error 5
Redirecting call to abort() to mozalloc_abort

Stack trace
stack backtrace:
   0:     0x55900ee741cd - backtrace::backtrace::trace::h764507ebeb31a659
   1:     0x55900ee73022 - backtrace::capture::Backtrace::new::h861a5879c2a14db9
   2:     0x55900cbbe9e7 - servo::install_crash_handler::handler::h5c1ab76b9163f044
   3:     0x55900f20d78d - WasmFaultHandler
                        at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.61.6/mozjs/js/src/wasm/WasmSignalHandlers.cpp:1494
   4:     0x7f04f43a0dcf - <unknown>
   5:     0x55900f355d4e - _Z14mozalloc_abortPKc
                        at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.61.6/mozjs/memory/mozalloc/mozalloc_abort.cpp:33
   6:     0x55900f355d1f - abort
                        at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.61.6/mozjs/memory/mozalloc/mozalloc_abort.cpp:80
   7:     0x55900fbbf3b6 - std::sys::unix::abort_internal::h47b1aab785740ad4
   8:     0x55900fbb3d04 - abort
                        at src/libstd/sys_common/util.rs:19
   9:     0x55900fbb504d - rust_panic
                        at src/libstd/panicking.rs:529
  10:     0x55900fbb4f15 - rust_panic_with_hook
                        at src/libstd/panicking.rs:498
  11:     0x55900fbb4961 - continue_panic_fmt
                        at src/libstd/panicking.rs:385
  12:     0x55900fbb4845 - rust_begin_unwind
  13:     0x55900fbd419c - panic_fmt
                        at src/libcore/panicking.rs:85
  14:     0x55900dde2182 - core::result::unwrap_failed::h933bb530a367bdc7
  15:     0x55900ddb2cff - servo_media_gstreamer::player::PlayerEventObserverList::notify::h7cee81ea583271f7
  16:     0x55900dde35b0 - servo_media_gstreamer::player::GStreamerPlayer::setup::{{closure}}::hd2f465fdab422e0b
  17:     0x55900ddf5c6e - gstreamer_app::app_sink::trampoline_new_sample::h9eda8be931efd296
  18:     0x7f04f466a7a1 - <unknown>
  19:     0x7f04f4aa3b1d - <unknown>
  20:     0x7f04f4aa4bff - <unknown>
  21:     0x7f04f49a5c39 - <unknown>
  22:     0x7f04f49aded1 - gst_pad_push
  23:     0x7f04f4993cca - gst_proxy_pad_chain_default
  24:     0x7f04f49a5c39 - <unknown>
  25:     0x7f04f49aded1 - gst_pad_push
  26:     0x7f04f4aaedfc - <unknown>
  27:     0x7f04f49a5c39 - <unknown>
  28:     0x7f04f49aded1 - gst_pad_push
  29:     0x7f04f4aaedfc - <unknown>
  30:     0x7f04f49a5c39 - <unknown>
  31:     0x7f04f49aded1 - gst_pad_push
  32:     0x7f04f4aaedfc - <unknown>
  33:     0x7f04f49a5c39 - <unknown>
  34:     0x7f04f49aded1 - gst_pad_push
  35:     0x7f04f4aaedfc - <unknown>
  36:     0x7f04f49a5c39 - <unknown>
  37:     0x7f04f49aded1 - gst_pad_push
  38:     0x7f04f4993cca - gst_proxy_pad_chain_default
  39:     0x7f04f49a5c39 - <unknown>
  40:     0x7f04f49aded1 - gst_pad_push
  41:     0x7f04a81ccb06 - <unknown>
  42:     0x7f04f49daf40 - <unknown>
  43:     0x7f04f4834ad2 - <unknown>
  44:     0x7f04f4834134 - <unknown>
  45:     0x7f04f4396163 - start_thread
  46:     0x7f04f3b34dee - __clone
  47:                0x0 - <unknown>
ondrej@RYZEN3:~/apps/servo$ 
@ferjm ferjm added this to To do in Media playback Feb 25, 2019
@ferjm ferjm self-assigned this Feb 25, 2019
bors-servo added a commit to servo/media that referenced this issue Feb 25, 2019
Player shutdown

This should allow us to fix issues like servo/servo#22931
bors-servo added a commit that referenced this issue Feb 27, 2019
Shutdown player when HTMLMediaElement is dropped

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22931
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22944)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Feb 27, 2019
Shutdown player when HTMLMediaElement is dropped

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22931
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22944)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Feb 27, 2019
Shutdown player when HTMLMediaElement is dropped

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22931
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22944)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Feb 27, 2019
Shutdown player when HTMLMediaElement is dropped

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22931
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22944)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Feb 27, 2019
Shutdown player when HTMLMediaElement is dropped

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22931
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22944)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Mar 25, 2019
Shutdown player when HTMLMediaElement is dropped

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22931
- [X] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22944)
<!-- Reviewable:end -->
Media playback automation moved this from To do to Done Mar 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Linked pull requests

Successfully merging a pull request may close this issue.

2 participants
You can’t perform that action at this time.