Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

data racing when run ```make test_multi_node ```

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
go

Research direction

Start with the test_multi_node target in Makefile and reproduce it with the race detector. Then inspect the execution paths in cmd/master.go and cmd/worker.go around worker registration, map/reduce tasks, and intermediate-file access. Done means the target completes reliably without race reports or cleanup-related failures.

Written by the indexing model from the issue text.

Description

when @kiarash8112 run make test_multi_node , he get following error

rm output/*
rm: cannot remove 'output/*': No such file or directory
make: [Makefile:10: clean] Error 1 (ignored)
rm cmd/*.so
rm: cannot remove 'cmd/*.so': No such file or directory
make: [Makefile:11: clean] Error 1 (ignored)
go build -race -buildmode=plugin -o cmd/wc.so ./mrapps/wc.go
go build -race -buildmode=plugin -o cmd/merge.so ./mrapps/merge.go
rm output/*
rm: cannot remove 'output/*': No such file or directory
make: [Makefile:27: test_multi_node] Error 1 (ignored)
rm mr-out-*
rm: cannot remove 'mr-out-*': No such file or directory
make: [Makefile:28: test_multi_node] Error 1 (ignored)
go run -race cmd/master.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 8 &
sleep 1
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 1 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 2 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 3 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 4 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 5 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 6 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 7 &
go run -race cmd/worker.go -i 'txt/*' -p 'cmd/wc.so' -r 4 -w 8 
INFO[0000] [Master] Master gRPC server start            
TRAC[0000] [Master] Wait for enough workers             
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0000] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
TRAC[0001] [Master] Enough workers!                     
INFO[0001] [Master] Worker register success             
TRAC[0001] [Master] Start distribute workload           
TRAC[0001] Add map input file                           
TRAC[0001] Add map input file                           
TRAC[0001] Add map input file                           
TRAC[0001] Add map input file                           
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
TRAC[0001] Add map input file                           
TRAC[0001] Add map input file                           
TRAC[0001] Add map input file                           
TRAC[0001] Add map input file                           
TRAC[0001] [Master] End distribute workload             
TRAC[0001] [Master] Start Map task                      
INFO[0001] [Master] Finding available workers to execute 8/8 
INFO[0001] [Worker] Start Map                           
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0001] [Worker] Start Mapping                       
TRAC[0001] [Worker] Finish Mapping                      
TRAC[0001] [Worker] Start partition intermediate kv     
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0001] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] Finish Mapping                      
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Tell Master the intermediate info   
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0001] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Tell Master the intermediate info   
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Tell Master the intermediate info   
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Tell Master the intermediate info   
TRAC[0001] [Worker] End Write intermediate kv to file   
TRAC[0001] [Worker] Tell Master the intermediate info   
INFO[0001] [Master] dfbe266c-095f-43c0-ba22-f03c1a3192dc update IMD info success 
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
INFO[0001] [Master] 52800c38-289e-40ac-98c8-e95b01ba7f8e update IMD info success 
INFO[0001] [Master] 4744d331-a214-4015-abbb-f32e2239dd5d update IMD info success 
INFO[0001] [Master] 84a20685-69ef-4b76-b41d-046ab8fa17ea update IMD info success 
INFO[0001] [Master] 8be49474-e777-48ee-a1cb-4ca5f5b88c30 update IMD info success 
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0001] [Worker] Finish Tell Master the intermediate info 
INFO[0001] [Worker] Finish Map Task                     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Tell Master the intermediate info   
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] End Write intermediate kv to file   
INFO[0001] [Master] 09a01a3b-2239-4c63-9428-17bad0ea82f9 update IMD info success 
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Tell Master the intermediate info   
TRAC[0000] [Worker] Tell Master the intermediate info   
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
INFO[0001] [Master] 07e24826-d4d9-44dd-98ed-0e704c6e2a85 update IMD info success 
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0001] [Master] 40d0408b-cacd-41c1-b79d-fec6a7de044f update IMD info success 
INFO[0000] [Worker] Finish Map Task                     
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
TRAC[0001] [Master] End Map task                        
TRAC[0001] [Master] Start Reduce task                   
INFO[0001] [Master] Finding available workers to execute 4/8 
INFO[0001] [Worker] Start Reduce                        
TRAC[0001] [Worker] Get intermediate file               
INFO[0000] [Worker] Start Reduce                        
TRAC[0000] [Worker] Get intermediate file               
INFO[0000] [Worker] Start Reduce                        
TRAC[0000] [Worker] Get intermediate file               
INFO[0000] [Worker] Start Reduce                        
TRAC[0000] [Worker] Get intermediate file               
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0001] [Worker] RPC Get intermediate file           
INFO[0001] [Worker] RPC Get intermediate file           
INFO[0001] [Worker] RPC Get intermediate file           
INFO[0001] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
TRAC[0001] [Worker] Sort intermediate KV                
TRAC[0001] [Worker] Start Reducing                      
TRAC[0001] [Worker] End Reducing                        
INFO[0001] [Worker] End Reduce                          
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
TRAC[0000] [Worker] Sort intermediate KV                
TRAC[0000] [Worker] Start Reducing                      
TRAC[0000] [Worker] End Reducing                        
INFO[0000] [Worker] End Reduce                          
INFO[0000] [Worker] RPC Get intermediate file           
TRAC[0000] [Worker] Sort intermediate KV                
TRAC[0000] [Worker] Start Reducing                      
TRAC[0000] [Worker] End Reducing                        
INFO[0000] [Worker] End Reduce                          
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
INFO[0000] [Worker] RPC Get intermediate file           
TRAC[0000] [Worker] Sort intermediate KV                
TRAC[0000] [Worker] Start Reducing                      
TRAC[0000] [Worker] End Reducing                        
INFO[0000] [Worker] End Reduce                          
TRAC[0001] [Master] End Reduce task                     
TRAC[0001] [Master] End Workers Start                   
INFO[0001] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
INFO[0000] [Worker] End worker                          
TRAC[0001] [Master] End Workers done                    
go run -race cmd/master.go -i 'mr-out-*' -p 'cmd/merge.so' -r 1 -w 4 &
sleep 1
INFO[0000] [Master] Master gRPC server start            
TRAC[0000] [Master] Wait for enough workers             
go run -race cmd/worker.go -i 'mr-out-*' -p 'cmd/merge.so' -r 1 -w 1 &
go run -race cmd/worker.go -i 'mr-out-*' -p 'cmd/merge.so' -r 1 -w 2 &
go run -race cmd/worker.go -i 'mr-out-*' -p 'cmd/merge.so' -r 1 -w 3 &
go run -race cmd/worker.go -i 'mr-out-*' -p 'cmd/merge.so' -r 1 -w 4
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0001] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0002] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0002] [Master] Worker register success             
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] Worker gRPC server start                     
INFO[0000] Worker load plugin finish                    
TRAC[0000] With Time out                                
TRAC[0000] Start RPC call                               
INFO[0002] [Master] Worker register success             
TRAC[0002] [Master] Enough workers!                     
TRAC[0002] [Master] Start distribute workload           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] Add map input file                           
TRAC[0002] [Master] End distribute workload             
TRAC[0002] [Master] Start Map task                      
INFO[0002] [Master] Finding available workers to execute 4/4 
TRAC[0000] End RPC call                                 
INFO[0000] Worker register itself finish                
INFO[0000] [Worker] Start Map                           
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Start Mapping                       
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] Start Mapping                       
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
TRAC[0000] [Worker] End partition intermediate kv       
TRAC[0000] [Worker] Write intermediate kv to file       
TRAC[0000] [Worker] End Write intermediate kv to file   
TRAC[0000] [Worker] Tell Master the intermediate info   
panic: runtime error: index out of range [1] with length 1

goroutine 27 [running]:
plugin/unnamed-8794b001124bf89ba2b7e1417ecabf0b0c406174.Map({0x0?, 0x0?}, {0x0, 0x0}, {0xc0001808a0})
        /home/user/Desktop/MapReduce/mrapps/merge.go:20 +0x1b1
github.com/BWbwchen/MapReduce/worker.(*Worker).Map.func1(0xc0001948c0, {0x0, 0x0})
        /home/user/Desktop/MapReduce/worker/worker.go:61 +0xc8
created by github.com/BWbwchen/MapReduce/worker.(*Worker).Map in goroutine 35
        /home/user/Desktop/MapReduce/worker/worker.gopanic: runtime error: index out of range [1] with length 1

goroutine 10 [running]:
plugin/unnamed-8794b001124bf89ba2b7e1417ecabf0b0c406174.Map({0x0?, 0x0?}, {0x0, 0x0}, {0xc00028e480})
        /home/user/Desktop/MapReduce/mrapps/merge.go:20 +0x1b1
github.com/BWbwchen/MapReduce/worker.(*Worker).Map.func1(0xc000282690, {0x0, :600x0})
        /home/user/Desktop/MapReduce/worker/worker.go:61 +0xc8
 +created by github.com/BWbwchen/MapReduce/worker.(*Worker).Map in goroutine 6
0x185   /home/user/Desktop/MapReduce/worker/worker.go:60 +0x185

INFO[0002] [Master] 9503430e-b944-4d68-8531-1fd401a48b07 update IMD info success 
TRAC[0000] [Worker] Finish Tell Master the intermediate info 
INFO[0000] [Worker] Finish Map Task                     
panic: runtime error: index out of range [1] with length 1

goroutine 28 [running]:
plugin/unnamed-8794b001124bf89ba2b7e1417ecabf0b0c406174.Map({0x0?, 0x0?}, {0x0, 0x0}, {0xc000094d20})
        /home/user/Desktop/MapReduce/mrapps/merge.go:20 +0x1b1
github.com/BWbwchen/MapReduce/worker.(*Worker).Map.func1(0xc000096eb0, {0x0, 0x0})
        /home/user/Desktop/MapReduce/worker/worker.go:61 +0xc8
created by github.com/BWbwchen/MapReduce/worker.(*Worker).Map in goroutine 25
        /home/user/Desktop/MapReduce/worker/worker.go:60 +0x185
exit status 2
exit status 2
WARN[0002] [Master]: error reading from server: EOF     
WARN[0002] [Master]: error reading from server: EOF     
INFO[0002] [Master] Finding available workers to execute 1/4 
INFO[0002] [Master] Re-execute Map Task from 9c0bc0cd-5305-49f7-87ec-c60dd346ab94 To 9503430e-b944-4d68-8531-1fd401a48b07 
INFO[0002] [Master] Finding available workers to execute 1/4 
INFO[0000] [Worker] Start Map                           
TRAC[0000] [Worker] Start Mapping                       
TRAC[0000] [Worker] Finish Mapping                      
TRAC[0000] [Worker] Start partition intermediate kv     
make: *** [Makefile:44: test_multi_node] Error 1
panic: runtime error: index out of range [1] with length 1                                                                                                                                

goroutine 70 [running]:
plugin/unnamed-8794b001124bf89ba2b7e1417ecabf0b0c406174.Map({0x1?, 0x1?}
, {0x0, 0x0}, {0xc000180420})
        /home/user/Desktop/MapReduce/mrapps/merge.go:20 +0x1b1
github.com/BWbwchen/MapReduce/worker.(*Worker).Map.func1(0xc000194aa0, {0x0, 0x0})
        /home/user/Desktop/MapReduce/worker/worker.go:61 +0xc8
created by github.com/BWbwchen/MapReduce/worker.(*Worker).Map in goroutine 66
        /home/user/Desktop/MapReduce/worker/worker.go:60 +0x185
exit status 2
WARN[0002] [Master]: error reading from server: EOF     
exit status 2
==================
WARNING: DATA RACE
Write at 0x00c000172170 by goroutine 33:
  github.com/BWbwchen/MapReduce/master.(*WorkerInfo).SetState()
      /home/user/Desktop/MapReduce/master/workerInfo.go:36 +0x4d
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask.func1()
      /home/user/Desktop/MapReduce/master/master.go:220 +0x584
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask.func4()
      /home/user/Desktop/MapReduce/master/master.go:228 +0xa6

Previous read at 0x00c000172170 by goroutine 7:
  github.com/BWbwchen/MapReduce/master.(*WorkerInfo).Broken()
      /home/user/Desktop/MapReduce/master/workerInfo.go:41 +0x49e
  github.com/BWbwchen/MapReduce/master.(*Master).availableWorkers()
      /home/user/Desktop/MapReduce/master/master.go:144 +0x450
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask()
      /home/user/Desktop/MapReduce/master/master.go:233 +0x60e
  github.com/BWbwchen/MapReduce/master.StartMaster()
      /home/user/Desktop/MapReduce/master/mainInterface.go:47 +0x330
  github.com/BWbwchen/MapReduce.startMaster.func1()
      /home/user/Desktop/MapReduce/util.go:102 +0x89

Goroutine 33 (running) created at:
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask()
      /home/user/Desktop/MapReduce/master/master.go:215 +0x512
  github.com/BWbwchen/MapReduce/master.StartMaster()
      /home/user/Desktop/MapReduce/master/mainInterface.go:47 +0x330
  github.com/BWbwchen/MapReduce.startMaster.func1()
      /home/user/Desktop/MapReduce/util.go:102 +0x89

Goroutine 7 (running) created at:
  github.com/BWbwchen/MapReduce.startMaster()
      /home/user/Desktop/MapReduce/util.go:101 +0x2a4
  github.com/BWbwchen/MapReduce.StartMaster()
      /home/user/Desktop/MapReduce/masterNode.go:4 +0x27
  main.main()
      /home/user/Desktop/MapReduce/cmd/master.go:8 +0x18
==================
WARN[0002] [Master]: error reading from server: EOF     
==================
WARNING: DATA RACE
Write at 0x00c0001720e0 by goroutine 58:
  github.com/BWbwchen/MapReduce/master.(*WorkerInfo).SetState()
      /home/user/Desktop/MapReduce/master/workerInfo.go:36 +0x4d
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask.func2()
      /home/user/Desktop/MapReduce/master/master.go:248 +0x5ac
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask.func5()
      /home/user/Desktop/MapReduce/master/master.go:255 +0x91

Previous read at 0x00c0001720e0 by goroutine 7:
  github.com/BWbwchen/MapReduce/master.(*WorkerInfo).Broken()
      /home/user/Desktop/MapReduce/master/workerInfo.go:41 +0x49e
  github.com/BWbwchen/MapReduce/master.(*Master).availableWorkers()
      /home/user/Desktop/MapReduce/master/master.go:144 +0x450
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask()
      /home/user/Desktop/MapReduce/master/master.go:233 +0x60e
  github.com/BWbwchen/MapReduce/master.StartMaster()
      /home/user/Desktop/MapReduce/master/mainInterface.go:47 +0x330
  github.com/BWbwchen/MapReduce.startMaster.func1()
      /home/user/Desktop/MapReduce/util.go:102 +0x89

Goroutine 58 (running) created at:
  github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask()
      /home/user/Desktop/MapReduce/master/master.go:242 +0x5b9
  github.com/BWbwchen/MapReduce/master.StartMaster()
      /home/user/Desktop/MapReduce/master/mainInterface.go:47 +0x330
  github.com/BWbwchen/MapReduce.startMaster.func1()
      /home/user/Desktop/MapReduce/util.go:102 +0x89

Goroutine 7 (running) created at:
  github.com/BWbwchen/MapReduce.startMaster()
      /home/user/Desktop/MapReduce/util.go:101 +0x2a4
  github.com/BWbwchen/MapReduce.StartMaster()
      /home/user/Desktop/MapReduce/masterNode.go:4 +0x27
  main.main()
      /home/user/Desktop/MapReduce/cmd/master.go:8 +0x18
==================
PANI[0002] No enough worker!0 1                         
panic: (*logrus.Entry) 0xc0000ac9a0

goroutine 6 [running]:
github.com/sirupsen/logrus.(*Entry).log(0xc0000ac930, 0x0, {0xc00009e120, 0x14})
        /home/user/Desktop/MapReduce/vendor/github.com/sirupsen/logrus/entry.go:259 +0x97f
github.com/sirupsen/logrus.(*Entry).Log(0xc0000ac930, 0x0, {0xc00019bb80, 0x3, 0x3})
        /home/user/Desktop/MapReduce/vendor/github.com/sirupsen/logrus/entry.go:293 +0x8c
github.com/sirupsen/logrus.(*Logger).Log(0x1305240, 0x0, {0xc00019bb80, 0x3, 0x3})
        /home/user/Desktop/MapReduce/vendor/github.com/sirupsen/logrus/logger.go:198 +0x7a
github.com/sirupsen/logrus.(*Logger).Panic(...)
        /home/user/Desktop/MapReduce/vendor/github.com/sirupsen/logrus/logger.go:247
github.com/sirupsen/logrus.Panic(...)
        /home/user/Desktop/MapReduce/vendor/github.com/sirupsen/logrus/exported.go:129
github.com/BWbwchen/MapReduce/master.(*Master).availableWorkers(0xc000024870, 0x1)
        /home/user/Desktop/MapReduce/master/master.go:149 +0x269
github.com/BWbwchen/MapReduce/master.(*Master).distributeMapTask(0xc000024870)
        /home/user/Desktop/MapReduce/master/master.go:233 +0x60f
github.com/BWbwchen/MapReduce/master.StartMaster({0xc000078c40, 0x4, 0x4}, 0x0?, 0x0?, {0xc00001569a, 0x6})
        /home/user/Desktop/MapReduce/master/mainInterface.go:47 +0x331
github.com/BWbwchen/MapReduce.startMaster.func1()
        /home/user/Desktop/MapReduce/util.go:102 +0x8a
created by github.com/BWbwchen/MapReduce.startMaster in goroutine 1
        /home/user/Desktop/MapReduce/util.go:101 +0x2a5
exit status 2

Originally posted by @kiarash8112 in https://github.com/BWbwchen/MapReduce/issues/1#issuecomment-1798110144

Dominant language
Go
Stars
225
Forks
12
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.