New issue
Advanced search Search tips

Issue 906785 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 20
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 1
Type: Bug



Sign in to add a comment

Trying to start a web_runner module twice results in exception thrown

Project Member Reported by wleshner@google.com, Nov 19

Issue description

Chrome Version: (copy from chrome://version)
OS: (e.g. Win10, MacOS 10.12, etc...)

What steps will reproduce the problem?
(1) Create a widget with a ChildView child that has a connection attribute referencing a ChildViewConnection (to host the web_runner module).

(2) Start the web_runner module (in the ChildView) as follows:

    StoryPuppetMasterProxy storyMaster = StoryPuppetMasterProxy();

    _puppetMaster.controlStory(_storyName, storyMaster.ctrl.request());

    IntentBuilder intentBuilder =
        IntentBuilder.handler('https://www.youtube.com/tv');

    List<StoryCommand> commands = []
      ..add(
        StoryCommand.withAddMod(AddMod(
            modName: [_moduleName],
            intent: intentBuilder.intent,
            surfaceRelation: SurfaceRelation(
              arrangement: SurfaceArrangement.sequential,
              dependency: SurfaceDependency.dependent,
              emphasis: 1.0,
            ),
            surfaceParentModName: [])),
      )
      ..add(StoryCommand.withSetFocusState(SetFocusState(focused: true)))
      ..add(StoryCommand.withFocusMod(FocusMod(modName: [_moduleName])));

    storyMaster
      ..enqueue(commands)
      ..execute((ExecuteResult result) {
        if (childViewConnectionListenable.value == null) {
          _storyProvider.getController(
              _storyName, _storyControllerProxy.ctrl.request());
          final viewOwner = InterfacePair<ViewOwner>();

          _storyControllerProxy.start(viewOwner.passRequest());

          childViewConnectionListenable.value =
              ChildViewConnection(viewOwner.passHandle());

          notifyListeners();
        }
      });



(3) Attempt to update (or start anew) the module with a new url like this:

    StoryPuppetMasterProxy storyMaster = StoryPuppetMasterProxy();

    _puppetMaster.controlStory(_storyName, storyMaster.ctrl.request());

    IntentBuilder intentBuilder = IntentBuilder.handler(
        'https://google.com');

    List<StoryCommand> commands = []..add(
        StoryCommand.withAddMod(AddMod(
            modName: [_moduleName],
            intent: intentBuilder.intent,
            surfaceRelation: SurfaceRelation(),
            surfaceParentModName: [])),
      );

    storyMaster
      ..enqueue(commands)
      ..execute((ExecuteResult result) {});




What is the expected result? No exception thrown (and maybe the mod is updated or restarted with the new url?)

What happens instead? An exception is thrown like so:

[00086.150927][52313][52327][klog] INFO: [INFO:local_module_resolver.cc(109)] No manifest found for handler=https://www.google.com
[00086.150993][50444][50457][klog] INFO: [INFO:add_mod_call.cc(92)] Module Resolver does not know about module 'https://www.google.com' with action = ''. Going to try using it anyway..
[00086.275345][50444][50457][klog] INFO: [ERROR:peridot/lib/module_manifest/module_facet_reader_impl.cc(50)] Could not parse package URL: https://www.google.com/
[00086.275431][50444][50457][klog] INFO: [ERROR:peridot/lib/module_manifest/module_facet_reader_impl.cc(60)] Could not parse CMX manifest meta/.cmx: Failed to read file: meta/.cmx
[00087.277441][50444][50457][klog] INFO: [WARNING:peridot/lib/common/async_holder.cc(36)] Teardown() timed out for https://www.youtube.com/tv
[00087.277491][50444][50457][klog] INFO: [INFO:story_controller_impl.cc(173)] StoryControllerImpl::LaunchModule() https://www.google.com web_runner
[00087.278036][56962][56977][klog] INFO: [56962:587390339:1119/202607.474646:ERROR:scenic_window.cc(113)] Not implemented reached in virtual void ui::ScenicWindow::Hide()
[00087.305694][56962][57374][klog] INFO: [56962:588961855:1119/202607.502307:ERROR:child_process_launcher_helper_fuchsia.cc(23)] Not implemented reached in void content::internal::ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(base::Process, const c
[00087.305699][56962][57374][klog] INFO: ontent::ChildProcessLauncherPriority &)
[00087.310068][56962][56977][klog] INFO: [56962:587390339:1119/202607.506675:ERROR:scenic_window.cc(117)] Not implemented reached in virtual void ui::ScenicWindow::Close()
[00087.314681][1046][1207][klog] INFO: devmgr: crash_analyzer_listener: analyzing exception type 0x308
[00087.315830][1106][1120][klog] INFO: <== exception: process /pkg/service_exe[56962] thread CrBrowserMain[56977]
[00087.315836][1106][1120][klog] INFO: <== sw breakpoint, PC at 0x1f4ef4d155f1
[00087.315848][1106][1120][klog] INFO: CS:                   0 RIP:     0x1f4ef4d155f1 EFL:              0x283 CR2:                  0
[00087.315854][1106][1120][klog] INFO: RAX:     0x7e619c3df888 RBX:     0x7e619c3ece40 RCX:                  0 RDX:                  0
[00087.315859][1106][1120][klog] INFO: RSI:     0x7f0ac6c58da8 RDI:     0x7e619c3ece50 RBP:     0x1f4ef65f4178 RSP:     0x7d799d460670
[00087.315864][1106][1120][klog] INFO: R8:              0x3c0  R9:        0x7e619c3df R10:                  0 R11:              0x206
[00087.315871][1106][1120][klog] INFO: R12:     0x7e619c450b08 R13:     0x7e619c3df3e8 R14:     0x7e619c3ece58 R15:     0x7e619c3ece50
[00087.315875][1106][1120][klog] INFO: errc:                 0
[00087.315879][1106][1120][klog] INFO: bottom of user stack:
[00087.315897][1106][1120][klog] INFO: 0x00007d799d460670: 9c3ece40 00007e61 00000000 00000000 |@.>.a~..........|
[00087.315905][1106][1120][klog] INFO: 0x00007d799d460680: f62bf8d0 00001f4e f529ffe1 00001f4e |..+.N.....).N...|
[00087.315913][1106][1120][klog] INFO: 0x00007d799d460690: 9d460830 00007d79 f43805fa 00001f4e |0.F.y}....8.N...|
[00087.315921][1106][1120][klog] INFO: 0x00007d799d4606a0: 9c3a0008 00007e61 9c3a7a40 00007e61 |..:.a~..@z:.a~..|
[00087.315929][1106][1120][klog] INFO: 0x00007d799d4606b0: 9d460740 00007d79 c6bf22ed 00007f0a |@.F.y}..."......|
[00087.315937][1106][1120][klog] INFO: 0x00007d799d4606c0: 9c40c7a0 00007e61 9c3a0000 00007e61 |..@.a~....:.a~..|
[00087.315947][1106][1120][klog] INFO: 0x00007d799d4606d0: 9c516790 00007e61 9c3a0008 00007e61 |.gQ.a~....:.a~..|
[00087.315955][1106][1120][klog] INFO: 0x00007d799d4606e0: 9c516790 00007e61 9c3df878 00007e61 |.gQ.a~..x.=.a~..|
[00087.315964][1106][1120][klog] INFO: 0x00007d799d4606f0: 00000000 00000000 9c3a0000 00007e61 |..........:.a~..|
[00087.315972][1106][1120][klog] INFO: 0x00007d799d460700: 00000000 00000000 2f546fd0 00007ed4 |.........oT/.~..|
[00087.315980][1106][1120][klog] INFO: 0x00007d799d460710: efefefef efefefef f43661ef 00001f4e |.........a6.N...|
[00087.315989][1106][1120][klog] INFO: 0x00007d799d460720: 00000000 00000000 00000000 00000000 |................|
[00087.315998][1106][1120][klog] INFO: 0x00007d799d460730: 00000000 00000000 00000000 00000000 |................|
[00087.316006][1106][1120][klog] INFO: 0x00007d799d460740: fefefefe fefefefe 77e6608f 73559420 |.........`.w .Us|
[00087.316015][1106][1120][klog] INFO: 0x00007d799d460750: f43661ef 00001f4e f65f68e0 00001f4e |.a6.N....h_.N...|
[00087.316022][1106][1120][klog] INFO: 0x00007d799d460760: 9d460830 00007d79 9c3ea280 00007e61 |0.F.y}....>.a~..|
[00087.316026][1106][1120][klog] INFO: arch: x86_64
[00087.316829][1106][1120][klog] INFO: dso: id=ce4f98cdc79f22b7a214c12e2321fc13f47a9508 base=0x7f0ac6b88000 name=libc.so
[00087.316833][1106][1120][klog] INFO: dso: id=99901d5a387566af base=0x6b70d1fae000 name=libsvc.so
[00087.316836][1106][1120][klog] INFO: dso: id=ebb7b7f75681b74628624305522475567e7ca69f base=0x68370df84000 name=libtrace-engine.so
[00087.316840][1106][1120][klog] INFO: dso: id=a2b04044026aba508c78e0827e81f01e11ea5b28 base=0x65154120d000 name=<vDSO>
[00087.316844][1106][1120][klog] INFO: dso: id=84c489cc34ddf5b880a5fc01fe4f99563258ccf5 base=0x492fc28b8000 name=libasync-default.so
[00087.316850][1106][1120][klog] INFO: dso: id=4fd5ea407911f5210303df0766a3b14d09f57888 base=0x1f4ef21ea000 name=app:/pkg/service_exe
[00087.316854][1106][1120][klog] INFO: dso: id=5e9726c20ed8e80b5c1697745abfa77f136632af base=0xe178570e000 name=libfdio.so
[00087.321483][1106][1120][klog] INFO: {{{module:0x37363538:<VMO#57016=data:libasync-defaul:elf:84c489cc34ddf5b880a5fc01fe4f99563258ccf5}}}
[00087.325383][1106][1120][klog] INFO: bt#01: pc 0x1f4ef4d155f1 sp 0x7d799d460670 (app:/pkg/service_exe,0x2b2b5f1)
[00087.325722][1106][1120][klog] INFO: bt#02: end
[00087.325839][1106][1120][klog] INFO:    #1    0x00001f4ef4d155f1 in <<VMO#56954=/pkg/service_exe>>+0x2b2b5f1
[00087.372415][4288][4651][klog] INFO: pkgsvr: pkgfs:unsupported(/packages/chromium/0): dir unlink "webrunner.log"




Please use labels and text to provide additional information.

If this is a regression (i.e., worked before), please consider using the
bisect tool (https://www.chromium.org/developers/bisect-builds-py) to help
us identify the root cause and more rapidly triage the issue.

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.


 
Components: Internals>PlatformIntegration
Labels: -Pri-3 M-72 OS-Fuchsia Pri-1
Owner: sergeyu@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f16438e53da8e6b74e0799fd39f1eb54df48a744

commit f16438e53da8e6b74e0799fd39f1eb54df48a744
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue Nov 20 21:10:26 2018

[Fuchsia] Fix CHECK() when shutting down web.Frame.

FrameImpl was destroying FocusController without removing it from list
of window event handlers, which was causing CHECK in the destructor.

Bug:  906785 
Change-Id: I78bb13a60e9e56ce663cfba9f6ded0357c3bab4c
Reviewed-on: https://chromium-review.googlesource.com/c/1344749
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609799}
[modify] https://crrev.com/f16438e53da8e6b74e0799fd39f1eb54df48a744/webrunner/browser/frame_impl.cc

Status: Fixed (was: Assigned)

Sign in to add a comment