New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 722636 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit 29 days ago
Closed: May 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

DevTools: Node.js + Persistence + Auto-Reconnect kill breakpoints

Project Member Reported by lushnikov@chromium.org, May 16 2017

Issue description

Chrome Version: at least Linux 60.0.3094.0

What steps will reproduce the problem?
(1) Start node.js application in debugging mode enabled, i.e. with the  'node --inspect-brk' command.
(2) Navigate to chrome://inspect and click "Open dedicated DevTools for Node"
(3) As the devtools open, enable "Persistence2.0" experiment and drop in a folder with the node.js application.
(4) Set a bunch of breakpoints in the devtools
(5) Restart node.js application

Expected: all breakpoints installed in p.(4) are there and working
Actual: all breakpoints are purged!


 
Project Member

Comment 1 by bugdroid1@chromium.org, May 16 2017

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

commit 35cd140e98c00020451a605fe01fad753b3bed33
Author: lushnikov <lushnikov@chromium.org>
Date: Tue May 16 19:49:25 2017

DevTools: do not kill breakpoints in case of persistence and auto-reconnecting target.

The investigation revealed:
- BreakpointManager does not know how to set breakpoints in the UISourceCodes
  with exact URLs. For this reason, breakpoints are removed inside workers
  in case of multilpe workers launched with the same URL.
- node.js reports file URLs which clash with the file URLs from persistence.
  This provokes the same illicit behavior in BreakpointManager.
- the same would happen with file-url web sites with persistence folder

This behavior is a conceptual issue of BreakpointManager, which is relied
upon in different parts of BreakpointManager.

Given the poor state of the things in the BreakpointManager, this patch
suggests a trade-off solution for the issue:
- it is localized to persistence only
- it is localized to the case of URL collisition between FileSystem and
  network URLs

Unfortunately, the attempts to write a test with workers failed due to the
BreakpointManager's poor handling of breakpoints in workers.

BUG= 722636 
R=dgozman

Review-Url: https://codereview.chromium.org/2886643002
Cr-Commit-Position: refs/heads/master@{#472196}

[modify] https://crrev.com/35cd140e98c00020451a605fe01fad753b3bed33/third_party/WebKit/Source/devtools/front_end/bindings/BreakpointManager.js

Status: Fixed (was: Assigned)

Sign in to add a comment