wf icon indicating copy to clipboard operation
wf copied to clipboard

Intermittently getting fatal error: bulkBarrierPreWrite: unaligned arguments

Open itsmurugappan opened this issue 2 years ago • 6 comments

Issue

Intermittently getting "fatal error: bulkBarrierPreWrite: unaligned arguments"

fatal error: bulkBarrierPreWrite: unaligned arguments

goroutine 25 [running]:
runtime.throw({0x198cc6f?, 0x0?})
        C:/Program Files/Go/src/runtime/panic.go:1047 +0x65 fp=0xc0007d2a20 sp=0xc0007d29f0 pc=0xb39225
runtime.bulkBarrierPreWrite(0xc0007d2ab8?, 0x4b?, 0xc000015040?)
        C:/Program Files/Go/src/runtime/mbitmap.go:582 +0x46b fp=0xc0007d2a90 sp=0xc0007d2a20 pc=0xb1578b
runtime.typedmemmove(0x19289a0, 0x1ecb6c70ed2, 0xc0007d2b78)
        C:/Program Files/Go/src/runtime/mbarrier.go:162 +0x45 fp=0xc0007d2ac8 sp=0xc0007d2a90 pc=0xb148e5
inet.af/wf.toFilter0(0xc0001752c0?, 0xc000675ec0, 0xc00072e001?)
        C:/Users/muru/go/pkg/mod/inet.af/[email protected]/compose.go:104 +0x30c fp=0xc0007d2c58 sp=0xc0007d2ac8 pc=0x16b510c
inet.af/wf.(*Session).AddRule(0xc000282900, 0xc000675ec0)
        C:/Users/muru/go/pkg/mod/inet.af/[email protected]/firewall.go:691 +0xcb fp=0xc0007d2cf0 sp=0xc0007d2c58 pc=0x16ba48b

When

While calling this function

Go Version

Tried 1.18. 1.19, 1.20

Occurence Frequency

Very random. Couldnt find a pattern.

itsmurugappan avatar Aug 02 '23 04:08 itsmurugappan

What Windows version and architecture?

bradfitz avatar Aug 02 '23 16:08 bradfitz

version is "windows server 2019 data center" and architecture is amd64

itsmurugappan avatar Aug 02 '23 16:08 itsmurugappan

Also tried in windows 11 pro / amd64

itsmurugappan avatar Aug 03 '23 01:08 itsmurugappan

did it resolved?

jun-luo-changsha avatar Aug 22 '23 09:08 jun-luo-changsha

I tried to modify the compose. go file line 103-104 by replacing

	ret := (*fwpmFilter0)(a.Alloc(unsafe.Sizeof(fwpmFilter0{})))
	*ret = fwpmFilter0{

with

	//ret := (*fwpmFilter0)(a.Alloc(unsafe.Sizeof(fwpmFilter0{})))
	ret := &fwpmFilter0{

After modifying, I tested it several times and it works fine . However, I do not know if this modification has any other negative effects because I do not understand the specific meaning of the original code.

jun-luo-changsha avatar Aug 24 '23 01:08 jun-luo-changsha

I tried to modify the compose. go file line 103-104 by replacing

	ret := (*fwpmFilter0)(a.Alloc(unsafe.Sizeof(fwpmFilter0{})))
	*ret = fwpmFilter0{

with

   //ret := (*fwpmFilter0)(a.Alloc(unsafe.Sizeof(fwpmFilter0{})))
   ret := &fwpmFilter0{

After modifying, I tested it several times and it works fine . However, I do not know if this modification has any other negative effects because I do not understand the specific meaning of the original code.

i did you modification cause i've also find this annoying bug but its giving me this error.

go\src\inet.af\wf\compose.go:104:9: fwpmFilter0 can't be allocated in Go; it is incomplete (or unallocatable) using golang 1.18

idan1109 avatar Sep 29 '23 10:09 idan1109