Breakpoints not firing on tests after 'crash' on previous test run. Restart required

Since the latest update to Goland (2018.3.4) I'm finding that break points don't work after a panic. Anyone else seeing this?

For more context I have a number of go routines in a pipeline that I'm running tests (using go testing framework) on the output of the pipeline. I'm using break points typically on the last go routine in the chain. If my program has an error that causes a panic or slice out of bounds or other go 'crash' then I find that when I tried to run the test with debug again the breakpoint that fired before no longer fires. Exiting and restarting go land resolves.

4 comments
Comment actions Permalink

Hi. It's not a known issue. Could you please share the code sample to recreate the issue?

0
Comment actions Permalink

I have also been having very strange behavior with debugging since the update to Goland 2018.3.4; but I haven't been able to find a reliable pattern.  Sometimes debugging will function properly and breakpoints will be hit, sometimes debugging simply executes without stopping at all.

I gave up and downgraded to 2018.3.3 this morning and have not had the issue yet... will keep updated if it happens again.

0
Comment actions Permalink

Exactly! I have been seeing this too. I was/am going mad when I close the IDE/invalidate the caches, restart etc. Then it works for a little while and then it does that again. When it happens, the process does not exit; all I see is `API server listening at: 127.0.0.1:62957`.

 

I see the following in idea.log:

2019-02-20 20:21:43,379 [26646713]   INFO - goide.execution.GoRunningState - Start Dlv debug process
2019-02-20 20:21:43,522 [26646856] INFO - #com.goide.dlv.DlvDebugProcess - could not find /Users/kedar/goprograms/src/first/ch6/bitset_test.go:179
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: could not find /Users/kedar/goprograms/src/first/ch6/bitset_test.go:179
2019-02-20 20:21:43,522 [26646856] INFO - #com.goide.dlv.DlvDebugProcess - could not find /Users/kedar/goprograms/src/first/ch6/bitset_test.go:266
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: could not find /Users/kedar/goprograms/src/first/ch6/bitset_test.go:266
2019-02-20 20:21:43,525 [26646859] INFO - #com.goide.dlv.DlvDebugProcess - could not find /Users/kedar/goprograms/src/first/ch6/bitset.go:176
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: could not find /Users/kedar/goprograms/src/first/ch6/bitset.go:176
2019-02-20 20:21:43,857 [26647191] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,858 [26647192] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,858 [26647192] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,858 [26647192] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,858 [26647192] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,858 [26647192] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,858 [26647192] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,859 [26647193] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,859 [26647193] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,859 [26647193] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,859 [26647193] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,860 [26647194] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,860 [26647194] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,860 [26647194] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,860 [26647194] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,861 [26647195] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,861 [26647195] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:43,861 [26647195] INFO - #com.goide.dlv.DlvDebugProcess - Process 12472 has exited with status 0
org.jetbrains.concurrency.InternalPromiseUtil$MessageError: Process 12472 has exited with status 0
2019-02-20 20:21:45,387 [26648721] INFO - g.FileBasedIndexProjectHandler - Reindexing refreshed files: 1 to update, calculated in 0ms
2019-02-20 20:21:45,389 [26648723] INFO - .diagnostic.PerformanceWatcher - Reindexing refreshed files took 2ms; general responsiveness: ok; EDT responsiveness: ok

 

The files that it says it has problems with are very much present and are not being debugged.

Version:

GoLand 2018.3.4
Build #GO-183.5429.49, built on February 12, 2019
Licensed to ...

JRE: 1.8.0_152-release-1343-b26 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.3

0
Comment actions Permalink

Please collect the diagnostic info. To do this add "#com.goide.dlv.DlvVm" (without quotes) in `Help | Debug Log Settings...` dialog. Try to debug again. After that feel free to file a bug report at https://youtrack.jetbrains.com and attach logs using `Help | Compress logs and show in <file browser>`. 

0

Please sign in to leave a comment.