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

DartEditor froze #544

Closed
floitschG opened this issue Nov 21, 2011 · 7 comments
Closed

DartEditor froze #544

floitschG opened this issue Nov 21, 2011 · 7 comments
Assignees
Labels
P1 A high priority bug; for example, a single project is unusable or has many test failures

Comments

@floitschG
Copy link
Contributor

My DartEditor just froze on me after I initiated a code-completion.
I used jstack to recover the stacks (see attached files).


Attachments:
jstack1.txt (26.82 KB)
jstack2.txt (12.66 KB)

@floitschG
Copy link
Contributor Author

And another freeze with some other stacktraces (jstack3 and jstack4).


Attachments:
jstack3.txt (29.71 KB)
jstack4.txt (12.66 KB)

@floitschG
Copy link
Contributor Author

Just realized that one of each stacktrace could be completely unrelated (c1visualizer). Since I'm not sure if that's the case I will leave them attached to this report.

@bwilkerson
Copy link
Member

Do you know (or can you find out from the "About Dart Editor" menu item) which build of the editor you're using?

Were there any errors reported in the log file (inside the workspace/.metadata directory in the editor's install directory)? If so, could you attach them to this issue? Thanks!


Added Accepted label.

@floitschG
Copy link
Contributor Author

build 1698
attached the log files.


Attachments:
.log (743.47 KB)
.bak_0.log (1006.30 KB)
.bak_1.log (1002.66 KB)

@bwilkerson
Copy link
Member

There are lots of interesting bugs reported in the log files (thank you!), but none of them appear to explain the problem you're seeing. I have just committed a CL (1724) that should help us get more information. If you can, please download that or some later build, delete the log files, and then send us the new log files if you should happen to see it again.

@danrubel
Copy link

I can cause the editor to lockup at will in the Linux continuous build (1735) and Linux runtime workbench, and nothing shows up in the log. This lockup does not seem to occur in the Linux integration build (1584) or in either continuous or integration builds on Mac. To recreate in Linux...

* Launch editor first first time (no workspace)

  • Create new application
  • Add new line in run method
  • Save
  • Immediately type something then ctrl-space for code completion
  • Editor locks up

When I do this from a runtime workbench, I find (see threads below)...

* there is one element in the indexer queue

  • the UI thread is waiting for that one element to be indexed
  • there does not seem to be any background thread indexing elements on the queue

org.eclipse.equinox.launcher.Main at localhost:35930
    Thread main
        Object.wait(long) line: not available [native method]
        WorkspaceIndexingDriver.execute(Query) line: 178
        DartIndexer.getAllTypes() line: 162
        SearchEngineImpl$7.performIndexSearch() line: 302
        SearchEngineImpl.performSearch(SearchEngineImpl$SearchHelper, SearchScope, SearchPattern, SearchListener, IProgressMonitor) line: 472
        SearchEngineImpl.searchTypeDeclarations(SearchScope, SearchPattern, SearchFilter, SearchListener, IProgressMonitor) line: 305
        CompletionEngine.findTypesWithPrefix(DartIdentifier) line: 1552
        CompletionEngine.proposeTypesForPrefix(DartIdentifier, boolean) line: 1658
        CompletionEngine.access$18(CompletionEngine, DartIdentifier, boolean) line: 1657
        CompletionEngine$IdentifierCompletionProposer.proposeIdentifierPrefixCompletions(DartNode) line: 464
        CompletionEngine$IdentifierCompletionProposer.visitExprStmt(DartExprStmt) line: 213
        CompletionEngine$IdentifierCompletionProposer.visitExprStmt(DartExprStmt) line: 1
        DartExprStmt.accept(DartPlainVisitor<R>) line: 36
        CompletionEngine$OuterCompletionProposer.visitIdentifier(DartIdentifier) line: 641
        CompletionEngine$OuterCompletionProposer.visitIdentifier(DartIdentifier) line: 1
        IdentifierCompleter(DartIdentifier).accept(DartPlainVisitor<R>) line: 78
        CompletionEngine.complete(LibrarySource, DartSource, String, int, int) line: 1118
        CompletionEngine.complete(CompilationUnit, int, int) line: 998
        CompilationUnitImpl(OpenableElementImpl).codeComplete(CompilationUnit, CompilationUnit, int, CompletionRequestor, WorkingCopyOwner, IProgressMonitor) line: 374
        CompilationUnitImpl.codeComplete(int, CompletionRequestor, WorkingCopyOwner, IProgressMonitor) line: 928
        CompilationUnitImpl.codeComplete(int, CompletionRequestor, WorkingCopyOwner) line: 921
        CompilationUnitImpl.codeComplete(int, CompletionRequestor) line: 909
        DartNoTypeCompletionProposalComputer(DartCompletionProposalComputer).internalComputeCompletionProposals(int, DartContentAssistInvocationContext, IProgressMonitor) line: 251
        DartNoTypeCompletionProposalComputer(DartCompletionProposalComputer).computeCompletionProposals(ContentAssistInvocationContext, IProgressMonitor) line: 122
        CompletionProposalComputerDescriptor.computeCompletionProposals(ContentAssistInvocationContext, IProgressMonitor) line: 224
        CompletionProposalCategory.computeCompletionProposals(ContentAssistInvocationContext, String, SubProgressMonitor) line: 119
        DartCompletionProcessor(ContentAssistProcessor).collectProposals(ITextViewer, int, IProgressMonitor, ContentAssistInvocationContext) line: 407
        DartCompletionProcessor(ContentAssistProcessor).computeCompletionProposals(ITextViewer, int) line: 227
        ContentAssistant.computeCompletionProposals(ITextViewer, int) line: 1830
        CompletionProposalPopup.computeProposals(int) line: 556
        CompletionProposalPopup.access$16(CompletionProposalPopup, int) line: 553
        CompletionProposalPopup$2.run() line: 488
        BusyIndicator.showWhile(Display, Runnable) line: 70
        CompletionProposalPopup.showProposals(boolean) line: 482
        ContentAssistant.showPossibleCompletions() line: 1656
        CompilationUnitEditor$AdaptedSourceViewer.doOperation(int) line: 172
        ContentAssistAction$1.run() line: 82
        BusyIndicator.showWhile(Display, Runnable) line: 70
        ContentAssistAction.run() line: 80
        ContentAssistAction(Action).runWithEvent(Event) line: 498
        ActionHandler.execute(Map) line: 185
        LegacyHandlerWrapper.execute(ExecutionEvent) line: 109
        Command.executeWithChecks(ExecutionEvent) line: 476
        ParameterizedCommand.executeWithChecks(Object, Object) line: 508
        HandlerService.executeCommand(ParameterizedCommand, Event) line: 169
        WorkbenchKeyboard.executeCommand(Binding, Event) line: 468
        WorkbenchKeyboard.press(List, Event) line: 786
        WorkbenchKeyboard.processKeyEvent(List, Event) line: 885
        WorkbenchKeyboard.filterKeySequenceBindings(Event) line: 567
        WorkbenchKeyboard.access$3(WorkbenchKeyboard, Event) line: 508
        WorkbenchKeyboard$KeyDownFilter.handleEvent(Event) line: 123
        EventTable.sendEvent(Event) line: 84
        Display.filterEvent(Event) line: 1531
        StyledText(Widget).sendEvent(Event) line: 1257
        StyledText(Widget).sendEvent(int, Event, boolean) line: 1282
        StyledText(Widget).sendEvent(int, Event) line: 1267
        StyledText(Widget).sendKeyEvent(int, GdkEventKey) line: 1294
        StyledText(Widget).gtk_key_press_event(long, long) line: 730
        StyledText(Control).gtk_key_press_event(long, long) line: 3019
        StyledText(Composite).gtk_key_press_event(long, long) line: 734
        StyledText(Widget).windowProc(long, long, long) line: 1743
        StyledText(Control).windowProc(long, long, long) line: 5016
        Display.windowProc(long, long, long) line: 4408
        OS._gtk_main_do_event(long) line: not available [native method]
        OS.gtk_main_do_event(long) line: 8394
        Display.eventProc(long, long) line: 1245
        OS._g_main_context_iteration(long, boolean) line: not available [native method]
        OS.g_main_context_iteration(long, boolean) line: 2258
        Display.readAndDispatch() line: 3207
        Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2696
        Workbench.runUI() line: 2660
        Workbench.access$4(Workbench) line: 2494
        Workbench$7.run() line: 674
        Realm.runWithDefault(Realm, Runnable) line: 332
        Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 667
        PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149
        DartIDEApplication.start(IApplicationContext) line: 44
        EclipseAppHandle.run(Object) line: 196
        EclipseAppLauncher.runApplication(Object) line: 110
        EclipseAppLauncher.start(Object) line: 79
        EclipseStarter.run(Object) line: 344
        EclipseStarter.run(String[], Runnable) line: 179
        NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
        NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57
        DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
        Method.invoke(Object, Object...) line: 616
        Main.invokeFramework(String[], URL[]) line: 622
        Main.basicRun(String[]) line: 577
        Main.run(String[]) line: 1410
        Main.main(String[]) line: 1386
    Thread Framework Active Thread
        Object.wait(long) line: not available [native method]
        Framework.run() line: 1816
        Thread.run() line: 679
    Daemon Thread Start Level Event Dispatcher
        Object.wait(long) line: not available [native method]
        EventManager$EventThread(Object).wait() line: 502
        EventManager$EventThread.getNextEvent() line: 400
        EventManager$EventThread.run() line: 336
    Daemon Thread Framework Event Dispatcher
        Object.wait(long) line: not available [native method]
        EventManager$EventThread(Object).wait() line: 502
        EventManager$EventThread.getNextEvent() line: 400
        EventManager$EventThread.run() line: 336
    Daemon Thread [Timer] - Main Queue Handler
        Object.wait(long) line: not available [native method]
        TimerImpl.run() line: 141
        Thread.run() line: 679
    Thread Worker-JM
        Object.wait(long) line: not available [native method]
        InternalWorker.run() line: 58
    Daemon Thread Indexer State Saver
        Thread.sleep(long) line: not available [native method]
        StorageManager$1.run() line: 45
    Thread Worker-1
        Object.wait(long) line: not available [native method]
        WorkerPool.sleep(long) line: 188
        WorkerPool.startJob(Worker) line: 220
        Worker.run() line: 50
    Daemon Thread com.google.dart.tools.ui.internal.text.functions.DartReconciler
        Object.wait(long) line: not available [native method]
        AbstractReconciler$BackgroundThread.run() line: 179
    Thread Worker-5
        Object.wait(long) line: not available [native method]
        WorkerPool.sleep(long) line: 188
        WorkerPool.startJob(Worker) line: 220
        Worker.run() line: 50
    Daemon Thread [ThreadPool Manager] - Idle Thread
        Object.wait(long) line: not available [native method]
        Executor(Object).wait() line: 502
        Executor.run() line: 106


Removed Priority-Medium label.
Added Priority-High label.

@bwilkerson
Copy link
Member

I believe that this should be fixed by http://codereview.chromium.org/8639005/.


Set owner to @bwilkerson.
Added Fixed label.

@floitschG floitschG added Type-Defect P1 A high priority bug; for example, a single project is unusable or has many test failures labels Nov 22, 2011
copybara-service bot pushed a commit that referenced this issue May 22, 2023
…wn, mockito, native, pool, pub_semver, shelf, sse, stack_trace, stream_channel, string_scanner, term_glyph, test, test_reflective_loader, tools

Revisions updated by `dart tools/rev_sdk_deps.dart`.

clock (https://github.com/dart-lang/clock/compare/fe85908..21caac1):
  21caac1  2023-05-21  Kevin Moore  Update formatting (#52)

collection (https://github.com/dart-lang/collection/compare/db2da48..f949b09):
  f949b09  2023-05-18  Graciliano Monteiro Passos  `CanonicalizedMap`: new `copy`, `toMap` and `toMapOfCanonicalKeys` methods (#261)

file (https://github.com/google/file.dart/compare/f05f5db..5d9a602):
  5d9a602  2023-05-19  Jacob MacDonald  remove no longer necessary override (#223)
  e4eebba  2023-05-19  Jacob MacDonald  release version 7.0.0 (#222)

glob (https://github.com/dart-lang/glob/compare/30f6aba..109121d):
  109121d  2023-05-19  Jacob MacDonald  allow latest file, update to latest dart_flutter_team_lints (#78)

json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/800843e..b2ed6bd):
  b2ed6bd  2023-05-22  Devon Carew  blast_repo fixes (#97)

logging (https://github.com/dart-lang/logging/compare/fa2486d..7ba155a):
  7ba155a  2023-05-22  Devon Carew  blast_repo fixes (#141)

markdown (https://github.com/dart-lang/markdown/compare/b951454..bd6ae8d):
  bd6ae8d  2023-05-22  Zhiguang Chen  Table should be able to interrupt other blocks (#545)
  0bc9d0e  2023-05-21  Devon Carew  blast_repo fixes (#544)

mockito (https://github.com/dart-lang/mockito/compare/28f174f..7c6d309):
  7c6d309  2023-05-18  Devon Carew  blast_repo fixes
  2c1b429  2023-05-19  Ilya Yanok  Extend using run-time dummy values to Futures

native (https://github.com/dart-lang/native/compare/3d89166..00832c9):
  00832c9  2023-05-22  Daco Harkes  [c_compiler] Increase test timeout on Windows (#47)
  06408e7  2023-05-22  Daco Harkes  [native_assets_cli] Fix example repostory url (#42)
  c614277  2023-05-19  dependabot[bot]  Bump nttld/setup-ndk (#45)
  67a2d20  2023-05-19  dependabot[bot]  Bump actions/labeler from 4.0.2 to 4.0.3 (#44)
  270700e  2023-05-18  Devon Carew  blast_repo fixes (#43)

pool (https://github.com/dart-lang/pool/compare/86b4f43..a10a0f9):
  a10a0f9  2023-05-22  Devon Carew  blast_repo fixes (#69)

pub_semver (https://github.com/dart-lang/pub_semver/compare/6dd1908..c034352):
  c034352  2023-05-22  Devon Carew  blast_repo fixes (#87)

shelf (https://github.com/dart-lang/shelf/compare/8793687..e7bab95):
  e7bab95  2023-05-19  Devon Carew  blast_repo fixes (#356)

sse (https://github.com/dart-lang/sse/compare/11ba89e..bfcbcd7):
  bfcbcd7  2023-05-19  Devon Carew  blast_repo fixes (#84)

stack_trace (https://github.com/dart-lang/stack_trace/compare/36fa0e1..86f7e30):
  86f7e30  2023-05-19  Devon Carew  blast_repo fixes (#132)

stream_channel (https://github.com/dart-lang/stream_channel/compare/a862e41..b1d3384):
  b1d3384  2023-05-19  Devon Carew  blast_repo fixes (#91)

string_scanner (https://github.com/dart-lang/string_scanner/compare/3bc6e54..6bb314f):
  6bb314f  2023-05-19  Devon Carew  blast_repo fixes (#58)

term_glyph (https://github.com/dart-lang/term_glyph/compare/3de5f1b..9d8956f):
  9d8956f  2023-05-19  Devon Carew  blast_repo fixes (#38)

test (https://github.com/dart-lang/test/compare/cdedf40..309596e):
  309596e4  2023-05-22  Devon Carew  blast_repo fixes (#2019)

test_reflective_loader (https://github.com/dart-lang/test_reflective_loader/compare/d1b763f..40d61b1):
  40d61b1  2023-05-19  Devon Carew  blast_repo fixes (#49)

tools (https://github.com/dart-lang/tools/compare/49da4ca..0eb4141):
  0eb4141  2023-05-18  Elias Yishak  Update usage guide for onboarding users (#90)

Change-Id: Id462318b1ea33bb1a6dea3c426d5306048a2cceb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304765
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 A high priority bug; for example, a single project is unusable or has many test failures
Projects
None yet
Development

No branches or pull requests

3 participants