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

hangs (insider builds) or crashes (non-insider) after running .scripts in debug console #82804

Closed
justingrant opened this issue Oct 17, 2019 · 4 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug debug Debug viewlet, configurations, breakpoints, adapter issues *out-of-scope Posted issue is not in scope of VS Code

Comments

@justingrant
Copy link
Contributor

Issue Type: Bug

  1. Install latest insider build of VS Code
  2. Install Debugger for Chrome extension
  3. git clone https://github.com/justingrant/repro-debug-scripts-hang.git This is a brand-new create-react-app repo with a few lines of code that pull in lots of dependencies to simulate a real app.
  4. yarn
  5. yarn start
  6. start IDE debugger (using Chrome debug config in the repo)
  7. In debug console pane, enter .scripts, then press ESC (to avoid the bad auto-completions), and then press ENTER. The IDE will take a 3-5 seconds to emit ~1600 lines (which seems reasonable given the number of files it has to process) but after the lines are emitted is when the problem happens.

Expected: VSCode is responsive after .scripts is done executing
Actual: VSCode is completely unresponsive (no cursor blinking, no response to mouse clicks) for 10-20 seconds. Afterwards, responsiveness comes back, but if you resize the VSCode window, or switch to the terminal pane and then back to the debug console pane, the IDE is yet again unresponsive for 10-20 seconds.

The repro above describes behavior from from the latest insiders build, but I originally encountered this problem with the latest non-insiders build (1.39.2), and on non-insider build it was even worse: the IDE never comes back to responsiveness-- instead a crash report is generated and you need to close the window before you can use it again.

Here's a few sample call stacks from the crash reports I see on 1.39.2 non-insider builds.

Justins-MacBook-Pro:~ justingrant$ electron-symbolicate-mac --file ~/Downloads/crash1.txt --version 4.2.10
void std::__1::vector<blink::WebMenuItemInfo, std::__1::allocator<blink::WebMenuItemInfo> >::__emplace_back_slow_path<>() (in Electron Framework) (memory:1799)
void std::__1::vector<v8::internal::HeapObjectsMap::TimeInterval, std::__1::allocator<v8::internal::HeapObjectsMap::TimeInterval> >::__emplace_back_slow_path<unsigned int&>(unsigned int&&&) (in Electron Framework) (vector:1003)
v8::internal::Heap::IncrementalMarkingLimitReached() (in Electron Framework) (heap.cc:4487)
v8::internal::Heap::Scavenge() (in Electron Framework) (heap.cc:2201)
v8::internal::Heap::CreateFillerObjectAt(unsigned long, int, v8::internal::ClearRecordedSlots, v8::internal::ClearFreedMemoryMode) (in Electron Framework) (heap.cc:2800)
v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) + 1585
v8::internal::Heap::RecordStats(v8::internal::HeapStats*, bool) (in Electron Framework) (heap.cc:5426)
v8::internal::Heap::RecordStats(v8::internal::HeapStats*, bool) (in Electron Framework) (heap.cc:5431)
v8::internal::Factory::NewLoadHandler(int) + 59
v8::internal::Sweeper::FilterSweepingPagesScope::FilterSweepingPagesScope(v8::internal::Sweeper*, v8::internal::Sweeper::PauseOrCompleteScope const&) (in Electron Framework) (sweeper.cc:49)
v8::internal::IC::UpdateState(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>) (in Electron Framework) (handles-inl.h:181)
v8::internal::Logger::ICEvent(char const*, bool, v8::internal::Map*, v8::internal::Object*, char, char, char const*, char const*) (in Electron Framework) (log.cc:1694)
v8::internal::KeyedStoreIC::StoreElementPolymorphicHandlers(std::__1::vector<v8::internal::Handle<v8::internal::Map>, std::__1::allocator<v8::internal::Handle<v8::internal::Map> > >*, std::__1::vector<v8::internal::MaybeObjectHandle, std::__1::allocator<v8::internal::MaybeObjectHandle> >*, v8::internal::KeyedAccessStoreMode) (in Electron Framework) (ic.cc:1932)
v8_Default_embedded_blob_ (in Electron Framework) + 596782
0 + 250345403746
v8_Default_embedded_blob_ (in Electron Framework) + 5094
0 + 250345393074
0 + 250347835947
v8_Default_embedded_blob_ (in Electron Framework) + 5094
0 + 250347805864
0 + 250347720254
v8_Default_embedded_blob_ (in Electron Framework) + 5094
v8_Default_embedded_blob_ (in Electron Framework) + 146146
0 + 250344932870
v8_Default_embedded_blob_ (in Electron Framework) + 185577
v8_Default_embedded_blob_ (in Electron Framework) + 322478
v8_Default_embedded_blob_ (in Electron Framework) + 81914
0 + 250344926209
v8::internal::EhFrameWriter::RecordRegisterFollowsInitialRule(v8::internal::Register) (in Electron Framework) (eh-frame.cc:334)
v8::internal::EhFrameIterator::DecodeSLeb128(unsigned char const*, int*) (in Electron Framework) (eh-frame.cc:442)
0x013c5bc4 (in Electron Framework)
v8::internal::Isolate::IsPromiseThenLookupChainIntact(v8::internal::Handle<v8::internal::JSReceiver>) (in Electron Framework) (isolate.cc:3471)
node::InternalCallbackScope::Close() + 311
napi_module_register_by_symbol(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Context>, napi_value__* (*)(napi_env__*, napi_value__*)) (in Electron Framework) (node_api.cc:755)
node::cares_wrap::(anonymous namespace)::QueryAnyWrap::Parse(unsigned char*, int) (in Electron Framework) (cares_wrap.cc:1287)
node::fs::Symlink(v8::FunctionCallbackInfo<v8::Value> const&) (in Electron Framework) (node_file.cc:1008)
node::fs::ReadLink(v8::FunctionCallbackInfo<v8::Value> const&) (in Electron Framework) (node_file.cc:716)
uv_if_indextoiid (in Electron Framework) (getaddrinfo.c:0)
uv__stream_io (in Electron Framework) (stream.c:1260)
process_answer (in Electron Framework) (ares_process.c:1294)
uv_run + 355
atom::api::ExecuteJavaScript(v8::Local<v8::Value>, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const&, mate::Arguments*) (in Electron Framework) (atom_api_web_frame.cc:384)
base::FilePathWatcherFSEvents::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) (in Electron Framework) (file_path_watcher_fsevents.cc:85)
base::internal::SchedulerWorkerPoolImpl::CreateRegisterAndStartSchedulerWorkerLockRequired() (in Electron Framework) (scheduler_worker_pool_impl.cc:875)
base::FilePathWatcherFSEvents::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) (in Electron Framework) (file_path_watcher_fsevents.cc:85)
base::GetFieldTrialParamByFeatureAsBool(base::Feature const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) (in Electron Framework) (field_trial_params.cc:108)
0x01dd34b8 (in Electron Framework)
select_add (in Electron Framework) (select.c:304)
mojo::Connector::Accept(mojo::Message*) (in Electron Framework) (connector.cc:279)
event_msgx (in Electron Framework) (log.c:0)
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
__CFRunLoopDoSource0 + 108
__CFRunLoopDoSources0 + 195
__CFRunLoopRun + 1189
CFRunLoopRunSpecific + 455
-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
evsignal_init (in Electron Framework) (signal.c:130)
evutil_snprintf (in Electron Framework) (evutil.c:236)
std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >::insert(unsigned long, unsigned long, unsigned short) (in Electron Framework) (string:2593)
content::(anonymous namespace)::LinkRewritingDelegate::RewriteFrameSource(blink::WebFrame*, blink::WebString*) (in Electron Framework) (render_frame_impl.cc:599)
proxy_resolver::ProxyResolverImpl::ProxyResolverImpl(std::__1::unique_ptr<net::ProxyResolverV8Tracing, std::__1::default_delete<net::ProxyResolverV8Tracing> >, std::__1::unique_ptr<service_manager::ServiceContextRef, std::__1::default_delete<service_manager::ServiceContextRef> >) (in Electron Framework) (proxy_resolver_impl.cc:49)
cricket::P2PTransportChannel::OnPortReady(cricket::PortAllocatorSession*, cricket::PortInterface*) (in Electron Framework) (p2ptransportchannel.cc:747)
net::MojoProxyResolverV8TracingBindings<proxy_resolver::mojom::ProxyResolverFactoryRequestClient>::OnError(int, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const&) (in Electron Framework) (mojo_proxy_resolver_v8_tracing_bindings.h:42)
AtomMain + 84
0x00000f10 (in Electron Framework)
start + 1
Justins-MacBook-Pro:~ justingrant$ electron-symbolicate-mac --file ~/Downloads/crash2.txt --version 4.2.10
Thread 0 Crashed:: CrRendererMain  Dispatch queue: com.apple.main-thread
void std::__1::vector<blink::WebMenuItemInfo, std::__1::allocator<blink::WebMenuItemInfo> >::__emplace_back_slow_path<>() (in Electron Framework) (memory:1799)
void std::__1::vector<v8::internal::HeapObjectsMap::TimeInterval, std::__1::allocator<v8::internal::HeapObjectsMap::TimeInterval> >::__emplace_back_slow_path<unsigned int&>(unsigned int&&&) (in Electron Framework) (vector:1003)
v8::internal::Heap::IncrementalMarkingLimitReached() (in Electron Framework) (heap.cc:4487)
v8::internal::Heap::Scavenge() (in Electron Framework) (heap.cc:2201)
v8::internal::Heap::CreateFillerObjectAt(unsigned long, int, v8::internal::ClearRecordedSlots, v8::internal::ClearFreedMemoryMode) (in Electron Framework) (heap.cc:2800)
v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) + 1585
v8::internal::Heap::RecordStats(v8::internal::HeapStats*, bool) (in Electron Framework) (heap.cc:5426)
v8::internal::Heap::RecordStats(v8::internal::HeapStats*, bool) (in Electron Framework) (heap.cc:5431)
v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) + 35
v8::internal::Stats_Runtime_ThrowThrowMethodMissing(int, v8::internal::Object**, v8::internal::Isolate*) (in Electron Framework) (runtime-internal.cc:223)
v8_Default_embedded_blob_ (in Electron Framework) + 596782
0 + 264550499629
0 + 264549991942
v8_Default_embedded_blob_ (in Electron Framework) + 318097
v8_Default_embedded_blob_ (in Electron Framework) + 14476
0 + 264550520928
0 + 264549991942
v8_Default_embedded_blob_ (in Electron Framework) + 5094
0 + 264557238920
0 + 264556853782
v8_Default_embedded_blob_ (in Electron Framework) + 5094
v8_Default_embedded_blob_ (in Electron Framework) + 146146
0 + 264549991942
v8_Default_embedded_blob_ (in Electron Framework) + 185577
v8_Default_embedded_blob_ (in Electron Framework) + 322478
v8_Default_embedded_blob_ (in Electron Framework) + 81914
0 + 264549985281
v8::internal::EhFrameWriter::RecordRegisterFollowsInitialRule(v8::internal::Register) (in Electron Framework) (eh-frame.cc:334)
v8::internal::EhFrameIterator::DecodeSLeb128(unsigned char const*, int*) (in Electron Framework) (eh-frame.cc:442)
0x013c5bc4 (in Electron Framework)
v8::internal::Isolate::IsPromiseThenLookupChainIntact(v8::internal::Handle<v8::internal::JSReceiver>) (in Electron Framework) (isolate.cc:3471)
node::InternalCallbackScope::Close() + 311
napi_module_register_by_symbol(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Context>, napi_value__* (*)(napi_env__*, napi_value__*)) (in Electron Framework) (node_api.cc:755)
node::cares_wrap::(anonymous namespace)::QueryAnyWrap::Parse(unsigned char*, int) (in Electron Framework) (cares_wrap.cc:1287)
node::fs::Symlink(v8::FunctionCallbackInfo<v8::Value> const&) (in Electron Framework) (node_file.cc:1008)
node::fs::ReadLink(v8::FunctionCallbackInfo<v8::Value> const&) (in Electron Framework) (node_file.cc:716)
uv_if_indextoiid (in Electron Framework) (getaddrinfo.c:0)
uv__stream_io (in Electron Framework) (stream.c:1260)
process_answer (in Electron Framework) (ares_process.c:1294)
uv_run + 355
atom::api::ExecuteJavaScript(v8::Local<v8::Value>, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const&, mate::Arguments*) (in Electron Framework) (atom_api_web_frame.cc:384)
base::FilePathWatcherFSEvents::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) (in Electron Framework) (file_path_watcher_fsevents.cc:85)
base::internal::SchedulerWorkerPoolImpl::CreateRegisterAndStartSchedulerWorkerLockRequired() (in Electron Framework) (scheduler_worker_pool_impl.cc:875)
base::FilePathWatcherFSEvents::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) (in Electron Framework) (file_path_watcher_fsevents.cc:85)
base::GetFieldTrialParamByFeatureAsBool(base::Feature const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) (in Electron Framework) (field_trial_params.cc:108)
0x01dd34b8 (in Electron Framework)
select_add (in Electron Framework) (select.c:304)
mojo::Connector::Accept(mojo::Message*) (in Electron Framework) (connector.cc:279)
event_msgx (in Electron Framework) (log.c:0)
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
__CFRunLoopDoSource0 + 108
__CFRunLoopDoSources0 + 195
__CFRunLoopRun + 1189
CFRunLoopRunSpecific + 455
-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
evsignal_init (in Electron Framework) (signal.c:130)
evutil_snprintf (in Electron Framework) (evutil.c:236)
std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >::insert(unsigned long, unsigned long, unsigned short) (in Electron Framework) (string:2593)
content::(anonymous namespace)::LinkRewritingDelegate::RewriteFrameSource(blink::WebFrame*, blink::WebString*) (in Electron Framework) (render_frame_impl.cc:599)
proxy_resolver::ProxyResolverImpl::ProxyResolverImpl(std::__1::unique_ptr<net::ProxyResolverV8Tracing, std::__1::default_delete<net::ProxyResolverV8Tracing> >, std::__1::unique_ptr<service_manager::ServiceContextRef, std::__1::default_delete<service_manager::ServiceContextRef> >) (in Electron Framework) (proxy_resolver_impl.cc:49)
cricket::P2PTransportChannel::OnPortReady(cricket::PortAllocatorSession*, cricket::PortInterface*) (in Electron Framework) (p2ptransportchannel.cc:747)
net::MojoProxyResolverV8TracingBindings<proxy_resolver::mojom::ProxyResolverFactoryRequestClient>::OnError(int, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const&) (in Electron Framework) (mojo_proxy_resolver_v8_tracing_bindings.h:42)
AtomMain + 84
0x00000f10 (in Electron Framework)
start + 1
Justins-MacBook-Pro:~ justingrant$ electron-symbolicate-mac --file ~/Downloads/crash3.txt --version 4.2.10
Thread 0 Crashed:: CrRendererMain  Dispatch queue: com.apple.main-thread
void std::__1::vector<blink::WebMenuItemInfo, std::__1::allocator<blink::WebMenuItemInfo> >::__emplace_back_slow_path<>() (in Electron Framework) (memory:1799)
void std::__1::vector<v8::internal::HeapObjectsMap::TimeInterval, std::__1::allocator<v8::internal::HeapObjectsMap::TimeInterval> >::__emplace_back_slow_path<unsigned int&>(unsigned int&&&) (in Electron Framework) (vector:1003)
v8::internal::Heap::IncrementalMarkingLimitReached() (in Electron Framework) (heap.cc:4487)
v8::internal::Heap::Scavenge() (in Electron Framework) (heap.cc:2201)
v8::internal::Heap::CreateFillerObjectAt(unsigned long, int, v8::internal::ClearRecordedSlots, v8::internal::ClearFreedMemoryMode) (in Electron Framework) (heap.cc:2800)
v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) + 1585
v8::internal::Heap::RecordStats(v8::internal::HeapStats*, bool) (in Electron Framework) (heap.cc:5417)
v8::internal::Heap::RecordStats(v8::internal::HeapStats*, bool) (in Electron Framework) (heap.cc:5431)
v8::internal::Factory::NewForeign(unsigned long, v8::internal::PretenureFlag) (in Electron Framework) (factory.cc:1629)
v8::internal::Factory::NewTransitionArray(int, int) + 41
v8::tracing::TracedValue::SetDouble(char const*, double) (in Electron Framework) (traced-value.cc:83)
v8::internal::GetOwnValuesOrEntries(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::PropertyFilter, bool, bool) (in Electron Framework) (objects.cc:9011)
v8::internal::JSObject::MigrateToMap(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Map>, int) (in Electron Framework) (field-index.h:103)
v8::internal::DescriptorArray::Sort() (in Electron Framework) (objects.cc:10761)
v8::internal::Map::AsLanguageMode(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::SharedFunctionInfo>) (in Electron Framework) (objects.cc:9721)
v8::internal::LookupIterator::PrepareTransitionToDataProperty(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyAttributes, v8::internal::Object::StoreFromKeyed) + 167
v8::internal::Object::SetProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode, v8::internal::Object::StoreFromKeyed) (in Electron Framework) (objects.cc:5047)
v8::internal::JSProxy::GetOwnPropertyDescriptor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSProxy>, v8::internal::Handle<v8::internal::Name>, v8::internal::PropertyDescriptor*) (in Electron Framework) (v8.h:8806)
v8::internal::JSReceiver::OrdinaryDefineOwnProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyDescriptor*, v8::internal::ShouldThrow) (in Electron Framework) (objects.cc:7055)
v8::internal::JSArray::DefineOwnProperty(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSArray>, v8::internal::Handle<v8::internal::Object>, v8::internal::PropertyDescriptor*, v8::internal::ShouldThrow) (in Electron Framework) (objects-inl.h:763)
v8::internal::JSReceiver::DefineProperties(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>) (in Electron Framework) (vector:968)
v8::internal::PropertyCallbackArguments::CallIndexedDeleter(v8::internal::Handle<v8::internal::InterceptorInfo>, unsigned int) (in Electron Framework) (api-arguments-inl.h:76)
v8::internal::Builtin_Impl_NumberPrototypeToPrecision(v8::internal::BuiltinArguments, v8::internal::Isolate*) (in Electron Framework) (builtins-number.cc:172)
v8_Default_embedded_blob_ (in Electron Framework) + 597038
0 + 87867319625
0 + 87866605868
v8_Default_embedded_blob_ (in Electron Framework) + 5094
v8_Default_embedded_blob_ (in Electron Framework) + 146146
0 + 87858120198
v8_Default_embedded_blob_ (in Electron Framework) + 185577
v8_Default_embedded_blob_ (in Electron Framework) + 322478
v8_Default_embedded_blob_ (in Electron Framework) + 81914
0 + 87858113537
v8::internal::EhFrameWriter::RecordRegisterFollowsInitialRule(v8::internal::Register) (in Electron Framework) (eh-frame.cc:334)
v8::internal::EhFrameIterator::DecodeSLeb128(unsigned char const*, int*) (in Electron Framework) (eh-frame.cc:442)
0x013c5bc4 (in Electron Framework)
v8::internal::Isolate::IsPromiseThenLookupChainIntact(v8::internal::Handle<v8::internal::JSReceiver>) (in Electron Framework) (isolate.cc:3471)
node::InternalCallbackScope::Close() + 311
napi_module_register_by_symbol(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Context>, napi_value__* (*)(napi_env__*, napi_value__*)) (in Electron Framework) (node_api.cc:755)
node::cares_wrap::(anonymous namespace)::QueryAnyWrap::Parse(unsigned char*, int) (in Electron Framework) (cares_wrap.cc:1287)
node::fs::Symlink(v8::FunctionCallbackInfo<v8::Value> const&) (in Electron Framework) (node_file.cc:1008)
node::fs::ReadLink(v8::FunctionCallbackInfo<v8::Value> const&) (in Electron Framework) (node_file.cc:716)
uv_if_indextoiid (in Electron Framework) (getaddrinfo.c:0)
uv__stream_io (in Electron Framework) (stream.c:1260)
process_answer (in Electron Framework) (ares_process.c:1294)
uv_run + 355
atom::api::ExecuteJavaScript(v8::Local<v8::Value>, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const&, mate::Arguments*) (in Electron Framework) (atom_api_web_frame.cc:384)
base::FilePathWatcherFSEvents::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) (in Electron Framework) (file_path_watcher_fsevents.cc:85)
base::internal::SchedulerWorkerPoolImpl::CreateRegisterAndStartSchedulerWorkerLockRequired() (in Electron Framework) (scheduler_worker_pool_impl.cc:875)
base::FilePathWatcherFSEvents::Watch(base::FilePath const&, bool, base::RepeatingCallback<void (base::FilePath const&, bool)> const&) (in Electron Framework) (file_path_watcher_fsevents.cc:85)
base::GetFieldTrialParamByFeatureAsBool(base::Feature const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) (in Electron Framework) (field_trial_params.cc:108)
0x01dd34b8 (in Electron Framework)
select_add (in Electron Framework) (select.c:304)
mojo::Connector::Accept(mojo::Message*) (in Electron Framework) (connector.cc:279)
event_msgx (in Electron Framework) (log.c:0)
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
__CFRunLoopDoSource0 + 108
__CFRunLoopDoSources0 + 195
__CFRunLoopRun + 1189
CFRunLoopRunSpecific + 455
-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
evsignal_init (in Electron Framework) (signal.c:130)
evutil_snprintf (in Electron Framework) (evutil.c:236)
std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> >::insert(unsigned long, unsigned long, unsigned short) (in Electron Framework) (string:2593)
content::(anonymous namespace)::LinkRewritingDelegate::RewriteFrameSource(blink::WebFrame*, blink::WebString*) (in Electron Framework) (render_frame_impl.cc:599)
proxy_resolver::ProxyResolverImpl::ProxyResolverImpl(std::__1::unique_ptr<net::ProxyResolverV8Tracing, std::__1::default_delete<net::ProxyResolverV8Tracing> >, std::__1::unique_ptr<service_manager::ServiceContextRef, std::__1::default_delete<service_manager::ServiceContextRef> >) (in Electron Framework) (proxy_resolver_impl.cc:49)
cricket::P2PTransportChannel::OnPortReady(cricket::PortAllocatorSession*, cricket::PortInterface*) (in Electron Framework) (p2ptransportchannel.cc:747)
net::MojoProxyResolverV8TracingBindings<proxy_resolver::mojom::ProxyResolverFactoryRequestClient>::OnError(int, std::__1::basic_string<unsigned short, base::string16_internals::string16_char_traits, std::__1::allocator<unsigned short> > const&) (in Electron Framework) (mojo_proxy_resolver_v8_tracing_bindings.h:42)
AtomMain + 84
0x00000f10 (in Electron Framework)
start + 1

VS Code version: Code - Insiders 1.40.0-insider (be68a4e, 2019-10-16T09:31:36.695Z)
OS version: Darwin x64 18.6.0

System Info
Item Value
CPUs Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz (8 x 2800)
GPU Status 2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: unavailable_off
rasterization: enabled
skia_renderer: disabled_off
surface_control: disabled_off
surface_synchronization: enabled_on
video_decode: enabled
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) 3, 4, 5
Memory (System) 16.00GB (0.19GB free)
Process Argv -psn_0_458864
Screen Reader no
VM 25%
Extensions (1)
Extension Author (truncated) Version
debugger-for-chrome msj 4.12.0
@roblourens roblourens added bug Issue identified by VS Code Team member as probable bug debug Debug viewlet, configurations, breakpoints, adapter issues labels Oct 17, 2019
@roblourens
Copy link
Member

Yeah I think this is just from the debug adapter trying to build a massive string and send it over to the frontend all at once. You could probably get the same thing by trying to console.log a huge string.

I don't think we really have a good solution unfortunately.

@justingrant
Copy link
Contributor Author

hi @roblourens - is it expected that the hang/crash happens after the string is displayed in the debug console pane, and happens again after I resize the VS window? Naively, I'd expect a delay before the string is displayed on the screen. But once it's displayed, I'd expect.scripts output to behave just like 1500 lines of debug console text-- which doesn't hang the IDE when I resize the window or switch panes. What's happening after the debug pane is painted that could cause the hang/crash?

@isidorn
Copy link
Contributor

isidorn commented Oct 18, 2019

I also suspect this one #81464
We are using the tree as the implementation details of the debug console and there are some obvious limitations.
fyi @joaomoreno

@isidorn isidorn added this to the Backlog Candidates milestone Oct 23, 2019
@isidorn isidorn added the *out-of-scope Posted issue is not in scope of VS Code label Apr 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug debug Debug viewlet, configurations, breakpoints, adapter issues *out-of-scope Posted issue is not in scope of VS Code
Projects
None yet
Development

No branches or pull requests

4 participants
@justingrant @roblourens @isidorn and others