Skip to content

Data race in FrameSocket #1085

@bronger

Description

@bronger

I observe the following data race with “go.mau.fi/whatsmeow v0.0.0-20251115172618-201d8734e8af”, and because only whatsmeow code appears in the stack trace, I don’t really know what additional context I could give. It happens probably while calling *whatsmeow.Client.SendMessage.

WARNING: DATA RACE
Write at 0x00c0002b2250 by goroutine 46947:
  go.mau.fi/whatsmeow/socket.(*FrameSocket).Close()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/socket/framesocket.go:70 +0xe4
  go.mau.fi/whatsmeow/socket.(*NoiseSocket).Stop()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/socket/noisesocket.go:84 +0xd6
  go.mau.fi/whatsmeow.(*Client).unlockedDisconnect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:615 +0x64
  go.mau.fi/whatsmeow.(*Client).Disconnect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:607 +0x64
  go.mau.fi/whatsmeow.(*Client).keepAliveLoop()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/keepalive.go:48 +0x50e
  go.mau.fi/whatsmeow.(*Client).unlockedConnect.gowrap1()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:507 +0x6b

Previous read at 0x00c0002b2250 by goroutine 46945:
  go.mau.fi/whatsmeow/socket.(*FrameSocket).readPump()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/socket/framesocket.go:212 +0x286
  go.mau.fi/whatsmeow/socket.(*FrameSocket).Connect.gowrap2()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/socket/framesocket.go:112 +0x5d

Goroutine 46947 (running) created at:
  go.mau.fi/whatsmeow.(*Client).unlockedConnect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:507 +0xd55
  go.mau.fi/whatsmeow.(*Client).connect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:472 +0xc4
  go.mau.fi/whatsmeow.(*Client).autoReconnect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:565 +0x249
  go.mau.fi/whatsmeow.(*Client).onDisconnect.gowrap3()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:527 +0x4f

Goroutine 46945 (finished) created at:
  go.mau.fi/whatsmeow/socket.(*FrameSocket).Connect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/socket/framesocket.go:112 +0x6de
  go.mau.fi/whatsmeow.(*Client).unlockedConnect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:500 +0xae6
  go.mau.fi/whatsmeow.(*Client).connect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:472 +0xc4
  go.mau.fi/whatsmeow.(*Client).autoReconnect()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:565 +0x249
  go.mau.fi/whatsmeow.(*Client).onDisconnect.gowrap3()
      /go/pkg/mod/go.mau.fi/whatsmeow@v0.0.0-20251115172618-201d8734e8af/client.go:527 +0x4f

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions