Execution of edgehtml!Tree::STextPosition::CharacterOrElementPositionsBetween takes long time

Issue #13105764

Details

Author
Xiaoyin L.
Created
Aug 5, 2017
Privacy
This issue is public.
Found in
  • Microsoft Edge
Found in build #
15.15063
Reports
Reported by 1 person

Sign in to watch or report this issue.

Steps to reproduce

I can’t give a repo step, because it occurred randomly. The tab froze when I was writing a pull request on GitHub.com (see the attachment for screenshot). By inspecting the call stack in WinDbg, I guess the issue is in edgehtml!Tree::STextPosition::CharacterOrElementPositionsBetween.

Call stack:

00 00000091`1eafcf60 00007ffa`482ce220 edgehtml!Tree::STextPosition::CharacterOrElementPositionsBetween+0x36
01 00000091`1eafcfb0 00007ffa`482cb73c edgehtml!SCachedTextPosition::GetOffsetOfPosition+0xc8
02 00000091`1eafd020 00007ffa`482c99ef edgehtml!CSpellDocument::GetOffsetFromStart+0x3c
03 00000091`1eafd080 00007ffa`483df014 edgehtml!CSpellPointer::GetCp+0x3f
04 00000091`1eafd0d0 00007ffa`483d6f2d edgehtml!MovePointerToTextOrWordBreaker+0x74
05 00000091`1eafd190 00007ffa`482c9827 edgehtml!CSpellCheckerEngine::SpellCheckAndAutocorrect+0x34d
06 00000091`1eafd2a0 00007ffa`47911c4d edgehtml!CHTMLSpellChecker::SpellCheck+0x63
07 00000091`1eafd2e0 00007ffa`47914c66 edgehtml!CPaintAlignedTimerManager<CPaintBeat>::ProcessTimers+0x18d
08 00000091`1eafd390 00007ffa`47914ce5 edgehtml!CPaintBeat::ProcessTimers+0x66
09 00000091`1eafd3c0 00007ffa`47a4b3d7 edgehtml!CPaintBeat::CPaintBeatTaskContext::OnProcessTimers+0x45
0a 00000091`1eafd3f0 00007ffa`47a541eb edgehtml!CPaintBeatContainedTimerSink<CPaintBeat>::OnTimerMethodCall+0x77
0b 00000091`1eafd420 00007ffa`47913d06 edgehtml!GWndAsyncTask::Run+0x1b
0c 00000091`1eafd450 00007ffa`47a2f890 edgehtml!HTML5TaskScheduler::RunReadiedTask+0x236
0d 00000091`1eafd520 00007ffa`47a2f6b3 edgehtml!TaskSchedulerBase::RunReadiedTasksInTaskQueueWithCallback+0x70
0e 00000091`1eafd570 00007ffa`4791203f edgehtml!HTML5TaskScheduler::RunReadiedTasks+0xa3
0f 00000091`1eafd5d0 00007ffa`47911f8d edgehtml!HTML5EventLoopDriver::DriveLowPriorityTaskExecution+0x9f
10 00000091`1eafd600 00007ffa`47912db1 edgehtml!GlobalWndOnPaintPriorityMethodCall+0x71
11 00000091`1eafd630 00007ffa`6e92bc50 edgehtml!GlobalWndProc+0x131
12 00000091`1eafd690 00007ffa`6e92b94c USER32!UserCallWinProcCheckWow+0x280
13 00000091`1eafd7f0 00007ffa`6e9411f3 USER32!DispatchClientMessage+0x9c
14 00000091`1eafd850 00007ffa`6ee090a4 USER32!_fnDWORD+0x33
15 00000091`1eafd8b0 00007ffa`6b601744 ntdll!KiUserCallbackDispatcherContinue
16 00000091`1eafd938 00007ffa`6e92b652 win32u!NtUserDispatchMessage+0x14
17 00000091`1eafd940 00007ffa`3876e27e USER32!DispatchMessageWorker+0x222
18 00000091`1eafd9c0 00007ffa`3876de6b EdgeContent!CBrowserTab::_TabWindowThreadProc+0x3ee
19 00000091`1eaffc10 00007ffa`56c3b4a8 EdgeContent!LCIETab_ThreadProc+0x2ab
1a 00000091`1eaffd40 00007ffa`6ec92774 msiso!_IsoThreadProc_WrapperToReleaseScope+0x48
1b 00000091`1eaffd70 00007ffa`6edd0d51 KERNEL32!BaseThreadInitThunk+0x14
1c 00000091`1eaffda0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

Call stack when broke into the debugger a few seconds later:

00 00000091`1eafcf30 00007ffa`479fff9b edgehtml!Tree::STextPosition::MoveToNode+0xa
01 00000091`1eafcf60 00007ffa`482ce220 edgehtml!Tree::STextPosition::CharacterOrElementPositionsBetween+0xcb
02 00000091`1eafcfb0 00007ffa`482cb73c edgehtml!SCachedTextPosition::GetOffsetOfPosition+0xc8
03 00000091`1eafd020 00007ffa`482c99ef edgehtml!CSpellDocument::GetOffsetFromStart+0x3c
[...]

Attachments

Comments and activity

  • Microsoft Edge Team

    Changed Assigned To to “Steven K.”

    Changed Assigned To to “Travis L.”

    Changed Status

You need to sign in to your Microsoft account to add a comment.

Sign in