Skip to content

Data Race on Close command #1006

Closed
@dido18

Description

@dido18

Describe the problem

A data race is detected

2025/01/10 14:53:20 stderr: ==================
2025/01/10 14:53:20 stderr: WARNING: DATA RACE
2025/01/10 14:53:20 stderr: Read at 0x00c000447988 by goroutine 80:
2025/01/10 14:53:20 stderr:   main.(*serport).reader()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/serialport.go:88 +0x167
2025/01/10 14:53:20 stderr:   main.spHandlerOpen()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/serialport.go:345 +0x1467
2025/01/10 14:53:20 stderr:   main.checkCmd.gowrap4()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:157 +0x6b
2025/01/10 14:53:20 stderr: 
2025/01/10 14:53:20 stderr: Previous write at 0x00c000447988 by goroutine 86:
2025/01/10 14:53:20 stderr:   main.(*serport).Close()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/serialport.go:351 +0x37
2025/01/10 14:53:20 stderr:   main.spClose()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/serial.go:267 +0xee
2025/01/10 14:53:20 stderr:   main.checkCmd.gowrap5()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:163 +0x44
2025/01/10 14:53:20 stderr: 
2025/01/10 14:53:20 stderr: Goroutine 80 (running) created at:
2025/01/10 14:53:20 stderr:   main.checkCmd()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:157 +0x366
2025/01/10 14:53:20 stderr:   main.(*hub).run()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:111 +0x244
2025/01/10 14:53:20 stderr:   main.loop.gowrap2()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/main.go:412 +0x33
2025/01/10 14:53:20 stderr: 
2025/01/10 14:53:20 stderr: Goroutine 86 (running) created at:
2025/01/10 14:53:20 stderr:   main.checkCmd()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:163 +0x584
2025/01/10 14:53:20 stderr:   main.(*hub).run()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:111 +0x244
2025/01/10 14:53:20 stderr:   main.loop.gowrap2()
2025/01/10 14:53:20 stderr:       /home/dido/code/arduino/arduino-create-agent/main.go:412 +0x33
2025/01/10 14:53:20 stderr: ==================

To reproduce

  • launch the service task run
  • open the http://127.0.0.1:8991/ console
  • attach a board via USB
  • type the command open /dev/ttyACM0 115200
  • type the command close /dev/ttyACM0
  • the console where the service is running shows the data-race warning.

Expected behavior

do not have the race condition

Arduino Create Agent version

1,6,1

Operating system

Linux

Operating system version

20.04

Browser

Chroome

Browser version

Chroome

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest version
  • My report contains all necessary details

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions