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

[Bug] - Can not debug lambda expression #1454

Closed
mamilic opened this issue Mar 17, 2024 · 5 comments
Closed

[Bug] - Can not debug lambda expression #1454

mamilic opened this issue Mar 17, 2024 · 5 comments

Comments

@mamilic
Copy link

mamilic commented Mar 17, 2024

[provide a description of the issue]
I have a stream, and I do couple of operations (filter, limit, foreach), when I try to set the breakpoint to lambda, it does not work.

Environment
  • Operating System:
  • JDK version:
  • Visual Studio Code version:
  • Java extension version:
  • Java Debugger extension version:
Steps To Reproduce
  1. Make lambda function
  2. Set breakpoint and debug
Screencast.from.2024-03-17.08-20-55.webm
Current Result
Expected Result
Additional Informations
@testforstephen
Copy link
Contributor

cannot reproduce. If you have some sample project to reproduce it consistently, feel free to share with us and reopen the issue.

lambda_breakpoint.mp4

@mamilic
Copy link
Author

mamilic commented May 3, 2024

This was performed on Linux machine, could you please try just to be sure that this is only on my pc? Thanks!

@mamilic
Copy link
Author

mamilic commented Nov 22, 2024

Hi @rgrunber, apologies for tagging you here, but you are only one who I know that uses linux, I was wondering could you please try to reproduce this with this example project - demo.zip? As of now I am not able to set inner debug breakpoint unless app is started, and also the inner breakpoint does not work, it does not stops the app when it reaches that.

Screencast.From.2024-11-22.17-28-39.mp4

@rgrunber
Copy link

Works for me. At first I thought the inline breakpoint could only be set while already debugging. I then noticed it could be set with the Debug: Inline Breakpoint command (shift+F9 by default). Works in both cases though.

Screencast.from.2024-11-25.00-05-39.mp4

I did notice the following error sent to the client error logs but might not be related since it does seem to work for me :

stacktrace
Exception in thread "Event Hub" io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.NullPointerException: The iterator returned a null value
	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
	at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
	at io.reactivex.internal.observers.ConsumerSingleObserver.onError(ConsumerSingleObserver.java:46)
	at io.reactivex.internal.operators.observable.ObservableToListSingle$ToListObserver.onError(ObservableToListSingle.java:104)
	at io.reactivex.internal.observers.BasicFuseableObserver.onError(BasicFuseableObserver.java:100)
	at io.reactivex.internal.operators.observable.ObservableFromIterable$FromIterableDisposable.run(ObservableFromIterable.java:94)
	at io.reactivex.internal.operators.observable.ObservableFromIterable.subscribeActual(ObservableFromIterable.java:58)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at io.reactivex.internal.operators.observable.ObservableFilter.subscribeActual(ObservableFilter.java:30)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at io.reactivex.internal.operators.observable.ObservableToListSingle.subscribeActual(ObservableToListSingle.java:58)
	at io.reactivex.Single.subscribe(Single.java:3666)
	at io.reactivex.Single.subscribe(Single.java:3652)
	at io.reactivex.Single.subscribe(Single.java:3620)
	at com.microsoft.java.debug.core.Breakpoint.lambda$createBreakpointRequests$20(Breakpoint.java:407)
	at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1231)
	at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2385)
	at com.microsoft.java.debug.core.Breakpoint.createBreakpointRequests(Breakpoint.java:397)
	at com.microsoft.java.debug.core.Breakpoint.createBreakpointRequests(Breakpoint.java:373)
	at com.microsoft.java.debug.core.Breakpoint.lambda$install$4(Breakpoint.java:230)
	at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
	at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52)
	at io.reactivex.subjects.PublishSubject$PublishDisposable.onNext(PublishSubject.java:308)
	at io.reactivex.subjects.PublishSubject.onNext(PublishSubject.java:228)
	at com.microsoft.java.debug.core.EventHub.lambda$start$0(EventHub.java:78)
	at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.lang.NullPointerException: The iterator returned a null value
	at io.reactivex.internal.functions.ObjectHelper.requireNonNull(ObjectHelper.java:39)
	at io.reactivex.internal.operators.observable.ObservableFromIterable$FromIterableDisposable.run(ObservableFromIterable.java:91)
	... 20 more

@mamilic
Copy link
Author

mamilic commented Nov 25, 2024

@rgrunber, thank you a lot!

After clean install of OS, and clean installation of VSCode it seems that everything works like a charm. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants