Задать вопрос
@12rbah

Что значит ошибка goroutine 996 [sleep]:?

Я запускаю 5 горутин, но при определенных условиях приложение падает примерно с такими ошибками, из особенностей падает тогда когда я быстро запускаю их несколько раз подряд, я думаю что проблема связана с тем, что я неправильно их убиваю, но не уверен.

spoiler

goroutine 808 [sleep]:
time.Sleep(0x989680)
/snap/go/current/src/runtime/time.go:188 +0xbf

...

goroutine 1314 [sleep]:
time.Sleep(0x989680)
/snap/go/current/src/runtime/time.go:188 +0xbf
...

goroutine 1004 [sleep]:
time.Sleep(0x989680)



//ссылки указывают на эту
func skipF(C *Component,skip chan bool){
	for {
		time.Sleep(time.Millisecond*10)
		if C.SkipItem == true{
			C.SkipItem = false
			skip <- false
			return
		}
	}
}

//и эту горутину
func cancelF(C *appStruct.GuiComponent,cancel chan bool){
	for {
		time.Sleep(time.Millisecond*10)
		if C.IsActive == false{
			cancel <- false
			return
		}
	}
}
  • Вопрос задан
  • 143 просмотра
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Go-разработчик с нуля
    9 месяцев
    Далее
  • Skillfactory
    Профессия Backend-разработчик на Go
    12 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
Решения вопроса 1
yellow79
@yellow79
Senior Software Engineer
Это не ошибка, это стектрейс всех горутин. Sleep означает, что конкретная горутина "спала", ожидала чтения или записи
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы