panic: Negative WaitGroup counter
Vishnugadupudi opened this issue · comments
deepakgadupudi@cloudshell:/Vishnu/Stack$ cat hosts | wc/Vishnu/Stack$ webanalyze -hosts hosts -output csv > results.csv
55195 55195 1585167
deepakgadupudi@cloudshell:
2020/02/06 02:38:41 Scanning with 4 workers.
2020/02/06 02:38:46 [-] Error for http://0addomain.com: Failed to retrieve
panic: sync: negative WaitGroup counter
goroutine 24 [running]:
sync.(*WaitGroup).Add(0xc0000962f0, 0xffffffffffffffff)
/usr/local/go/src/sync/waitgroup.go:74 +0x139
sync.(*WaitGroup).Done(...)
/usr/local/go/src/sync/waitgroup.go:99
github.com/rverton/webanalyze.process(0xc00252ccc0, 0x0, 0x0, 0x0, 0x0, 0x0)
/home/deepakgadupudi/gopath/src/github.com/rverton/webanalyze/webanalyze.go:251 +0x1a23
github.com/rverton/webanalyze.worker(0xc000070120, 0xc0000700c0, 0xc0000962e0)
/home/deepakgadupudi/gopath/src/github.com/rverton/webanalyze/webanalyze.go:137 +0x73
created by github.com/rverton/webanalyze.initWorker
/home/deepakgadupudi/gopath/src/github.com/rverton/webanalyze/webanalyze.go:122 +0x77
Hi @rverton what is the issue here??
Hi, I will try to reproduce this and then come back to you.
@rverton Thanks (:
I'm able to reproduce this, will let you know when I've fixed this.
$ ./webanalyze -hosts <(echo "doestnotexist.io") -output csv
2020/02/07 09:47:38 Scanning with 4 workers.
panic: sync: negative WaitGroup counter
goroutine 13 [running]:
sync.(*WaitGroup).Add(0xc00001c380, 0xffffffffffffffff)
/usr/local/go/src/sync/waitgroup.go:74 +0x139
sync.(*WaitGroup).Done(...)
/usr/local/go/src/sync/waitgroup.go:99
github.com/rverton/webanalyze.process(0xc000794660, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/robin/go/src/github.com/rverton/webanalyze/webanalyze.go:251 +0x1a23
github.com/rverton/webanalyze.worker(0xc000086120, 0xc0000860c0, 0xc00001c370)
/Users/robin/go/src/github.com/rverton/webanalyze/webanalyze.go:137 +0x73
created by github.com/rverton/webanalyze.initWorker
/Users/robin/go/src/github.com/rverton/webanalyze/webanalyze.go:122 +0x77
Knock Knock.
I plan to make a bigger refactor here and pulling all goroutine stuff out of the lib so the callee has to do it. This will take some time.
As a quick fix, you should be fine putting a valid URL at the beginning of your file.
I have this too.
panic: sync: negative WaitGroup counter
goroutine 7 [running]:
sync.(*WaitGroup).Add(0xc0000942f0, 0xffffffffffffffff)
/usr/lib/go-1.11/src/sync/waitgroup.go:74 +0x139
sync.(*WaitGroup).Done(...)
/usr/lib/go-1.11/src/sync/waitgroup.go:99
github.com/rverton/webanalyze.process(0xc000baa480, 0x0, 0x0, 0x0, 0x0, 0x0)
/root/go/src/github.com/rverton/webanalyze/webanalyze.go:251 +0x1a23
github.com/rverton/webanalyze.worker(0xc00006c180, 0xc00006c120, 0xc0000942e0)
/root/go/src/github.com/rverton/webanalyze/webanalyze.go:137 +0x73
created by github.com/rverton/webanalyze.initWorker
/root/go/src/github.com/rverton/webanalyze/webanalyze.go:122 +0x77
I just pushed a new version af2f9de where I refactored the concurrency mechanism. This will change some things for all people which use webanalyze as a library (because they have to do the concurrency on their own now). For all others, there should be no change except the better formatting when printing to stdout.
Please let me know if there are any problems with this version. I think I will tag this as a new release in the next days.
Wow 🔥️, Thanks @rverton