Skip to content

Conversation

larry-safran
Copy link
Contributor

@larry-safran larry-safran commented Dec 11, 2024

Eliminate unneeded fakeClock.forwardTime() that was causing the conflict.

  Read of size 8 at 0x00008eea4e28 by thread T24:
    #0 io.grpc.internal.FakeClock$ScheduledExecutorImpl.schedule(Lio/grpc/internal/FakeClock$ScheduledTask;JLjava/util/concurrent/TimeUnit;)V FakeClock.java:140 
    #1 io.grpc.internal.FakeClock$ScheduledExecutorImpl.schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; FakeClock.java:150 
    #2 io.grpc.SynchronizationContext.schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lio/grpc/SynchronizationContext$ScheduledHandle; SynchronizationContext.java:153 
    #3 io.grpc.xds.client.XdsClientImpl$ResourceSubscriber.restartTimer()V XdsClientImpl.java:779 
    #4 io.grpc.xds.client.XdsClientImpl.startMissingResourceTimers(Ljava/util/Collection;Lio/grpc/xds/client/XdsResourceType;)V XdsClientImpl.java:213 
    #5 io.grpc.xds.client.ControlPlaneClient.adjustResourceSubscription(Lio/grpc/xds/client/XdsResourceType;)V ControlPlaneClient.java:167 
    #6 io.grpc.xds.client.ControlPlaneClient.sendDiscoveryRequests()V ControlPlaneClient.java:281 
    #7 io.grpc.xds.client.ControlPlaneClient.readyHandler(Z)V ControlPlaneClient.java:242 
    #8 io.grpc.xds.client.ControlPlaneClient$AdsStream.lambda$onReady$0()V ControlPlaneClient.java:384 
    #9 io.grpc.xds.client.ControlPlaneClient$AdsStream$$Lambda+0x0000000100468a90.run()V ?? 
    #10 io.grpc.SynchronizationContext.drain()V SynchronizationContext.java:96 
    #11 io.grpc.SynchronizationContext.execute(Ljava/lang/Runnable;)V SynchronizationContext.java:128 
    #12 io.grpc.xds.client.ControlPlaneClient$AdsStream.onReady()V ControlPlaneClient.java:373 
  Previous write of size 8 at 0x00008eea4e28 by thread T4 (mutexes: write M0, write M1, write M2, write M3):
    #0 io.grpc.internal.FakeClock.forwardTime(JLjava/util/concurrent/TimeUnit;)I FakeClock.java:368 
    #1 io.grpc.xds.XdsClientFallbackTest.testGoodUrlFollowedByBadUrl()V XdsClientFallbackTest.java:440 

@larry-safran larry-safran requested a review from ejona86 December 11, 2024 22:40
Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I highly suggest to include some snippet from the failing TSAN run (in the commit message). It is really helpful to understand why we made certain changes.

@larry-safran larry-safran merged commit 486b8ba into grpc:master Dec 12, 2024
16 checks passed
@larry-safran larry-safran deleted the tsan_f branch December 12, 2024 01:48
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants