Skip to content

Data race on SetBehaviour #1016

Open
Open
@dido18

Description

@dido18

Motivation

There is a data race on the SetBehaviour call

 time="2025-01-29T14:25:31+01:00" level=info msg=" id=fUcMrGkG req=HEAD /v2/pkgs/tools/installed from=127.0.0.1"
2025/01/29 14:25:31 stderr: time="2025-01-29T14:25:31+01:00" level=info msg=" id=fUcMrGkG status=200 bytes=0 time=117.031µs"
2025/01/29 14:25:31 stdout: [GIN-debug] [WARNING] Headers were already written. Wanted to override status code 200 with 400
2025/01/29 14:25:31 stderr: ==================
2025/01/29 14:25:31 stderr: WARNING: DATA RACE
2025/01/29 14:25:31 stderr: Write at 0x00c000274298 by goroutine 61:
2025/01/29 14:25:31 stderr:   github.com/arduino/arduino-create-agent/v2/pkgs.(*Tools).SetBehaviour()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/v2/pkgs/tools.go:336 +0xae
2025/01/29 14:25:31 stderr:   github.com/arduino/arduino-create-agent/tools.(*Tools).Download()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/tools/download.go:47 +0x72
2025/01/29 14:25:31 stderr:   main.checkCmd.func2()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:211 +0x384
2025/01/29 14:25:31 stderr: 
2025/01/29 14:25:31 stderr: Previous write at 0x00c000274298 by goroutine 60:
2025/01/29 14:25:31 stderr:   github.com/arduino/arduino-create-agent/v2/pkgs.(*Tools).SetBehaviour()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/v2/pkgs/tools.go:336 +0xae
2025/01/29 14:25:31 stderr:   github.com/arduino/arduino-create-agent/tools.(*Tools).Download()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/tools/download.go:47 +0x72
2025/01/29 14:25:31 stderr:   main.checkCmd.func2()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:211 +0x384
2025/01/29 14:25:31 stderr: 
2025/01/29 14:25:31 stderr: Goroutine 61 (running) created at:
2025/01/29 14:25:31 stderr:   main.checkCmd()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:182 +0x7cc
2025/01/29 14:25:31 stderr:   main.(*hub).run()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:111 +0x244
2025/01/29 14:25:31 stderr:   main.loop.gowrap2()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/main.go:385 +0x33
2025/01/29 14:25:31 stderr: 
2025/01/29 14:25:31 stderr: Goroutine 60 (running) created at:
2025/01/29 14:25:31 stderr:   main.checkCmd()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:182 +0x7cc
2025/01/29 14:25:31 stderr:   main.(*hub).run()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/hub.go:111 +0x244
2025/01/29 14:25:31 stderr:   main.loop.gowrap2()
2025/01/29 14:25:31 stderr:       /home/dido/code/arduino/arduino-create-agent/main.go:385 +0x33
2025/01/29 14:25:31 stderr: ==================
2025/01/29 14:25:55 stderr: time="2025-01-29T14:25:55+01:00" level=info msg=" id=Cnx0UJtM req=HEAD /v2/pkgs/tools/installed from=127.0.0.1"

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic: codeRelated to content of the project itselftype: imperfectionPerceived defect in any part of project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions