
Research
Security News
Malicious npm Packages Use Telegram to Exfiltrate BullX Credentials
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
github.com/FedoseevAlex/OtusGolangHomeWork/hw05_parallel_execution
Необходимо написать функцию для параллельного выполнения заданий в n параллельных горутинах:
len(tasks)
задач (т.е. все задачи);Нужно учесть, что задания могут выполняться разное время, а длина списка задач
len(tasks)
может быть больше или меньше n.
Значение m <= 0 трактуется на усмотрение программиста:
ErrErrorsLimitExceeded
;Имеем 10 задач, n=4 воркера, m=2 ошибки.
--------------ok (узнал, что лимит превышен и остановился)
-----------err
-------err
--------------------ok
Выполнится 4 задачи (2 успешно) <= 4 + 2, остальные задачи не берем.
------ok--------ok (узнал, что лимит превышен и остановился)
-----------err
---err
--------ok-------ok
Выполнится 6 задач (4 успешно) <= 4 + 2, остальные задачи не берем.
-------ok-----ok-----ok-----ok (1 воркер выполнил 4 задачи)
-----------ok-------------ok (2 воркер выполнил 2 задачи)
-----ok---------ok---------ok (3 воркер выполнил 3 задачи)
--------------------ok (4 вокрер выполнил 1 задачу)
Выполнится 10 задач (10 успешно): задач не осталось, воркеры остановились.
При необходимости можно выделять дополнительные функции / ошибки.
sync.WaitGroup
go test -v -race -count=100 .
racedetector
ругается на строчку с ассертом в тестах:Run
остаются висячие горутины, отсюда и получаем data race
-
ассерт в тестах неатомарно обращается к runTasksCount
, в то время как зомби-горутины атомарно пытаюся её поменять.Решение: внимательно посмотреть места выхода из функции и гарантировать, что все порождённые вами горутины завершились к этому моменту.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.
Security News
AI-generated slop reports are making bug bounty triage harder, wasting maintainer time, and straining trust in vulnerability disclosure programs.