Skip to content

Perf/multisymbol 4bw#912

Merged
gbotrel merged 205 commits into
masterfrom
perf/multisymbol-4bw
Nov 17, 2023
Merged

Perf/multisymbol 4bw#912
gbotrel merged 205 commits into
masterfrom
perf/multisymbol-4bw

Conversation

@Tabaie
Copy link
Copy Markdown
Contributor

@Tabaie Tabaie commented Nov 13, 2023

Description

This implements an LZSS based compression scheme and the means to verify its correctness in a SNARK.

Type of change

  • New feature (non-breaking change which adds functionality)

@github-actions
Copy link
Copy Markdown

📦 github.com/consensys/gnark/std/math/emulated
TestInverse 0s

TestInverse/Goldilocks/limb=64 0s

TestInverse/Goldilocks/limb=64/bn254 0s

panic: test timed out after 30m0s
running tests:
	TestInverse (30m0s)
	TestInverse/Goldilocks/limb=64 (30m0s)
	TestInverse/Goldilocks/limb=64/bn254 (30m0s)

goroutine 111 [running]:
testing.(*M).startAlarm.func1()
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2259 +0x3b9
created by time.goFunc
	/opt/hostedtoolcache/go/1.21.3/x64/src/time/sleep.go:176 +0x2d

goroutine 1 [chan receive, 29 minutes]:
testing.(*T).Run(0xc000187a00, {0xeb2e6c?, 0x51fadc?}, 0xf17a00)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
testing.runTests.func1(0x155cd00?)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2054 +0x3e
testing.tRunner(0xc000187a00, 0xc00023bc48)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
testing.runTests(0xc00022b180?, {0x15538c0, 0x1d, 0x1d}, {0x4182bf?, 0xc00023bd08?, 0x155b3e0?})
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2052 +0x445
testing.(*M).Run(0xc00022b180)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1925 +0x636
main.main()
	_testmain.go:109 +0x19c

goroutine 295 [chan receive, 29 minutes]:
testing.(*T).Run(0xc000102b60, {0xc0001d0930?, 0xc0000afed0?}, 0xc0005aae50)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc0000aff18, 0xc0005aae40, {0xc0000aff28?, 0x39?, 0x5ad?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/std/math/emulated.testInverse[...](0xc000102b60)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:403 +0x107
github.com/consensys/gnark/std/math/emulated.TestInverse(0xc00051ceb0?)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:392 +0x25
testing.tRunner(0xc000102b60, 0xf17a00)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 296 [chan receive, 29 minutes]:
testing.(*T).Run(0xc000102ea0, {0xc00028ab60?, 0xc000081cc8?}, 0xc0005aaef0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc0005aaeb0, 0xc0003b5bc0, {0xc000081e08?, 0x151232c?, 0x2?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/test.(*Assert).CheckCircuit(0xc0000f53c0?, {0x1006de0?, 0xc00051d4a0}, {0xc000081e88, 0x1, 0x1})
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:39 +0x168
github.com/consensys/gnark/std/math/emulated.testInverse[...].func1()
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:409 +0x2bd
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc000102ea0)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc000102ea0, 0xc0005aae50)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 295
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 297 [runnable]:
internal/reflectlite.Value.Elem({0xdb1c60?, 0xc0003b5da0?, 0x16?})
	/opt/hostedtoolcache/go/1.21.3/x64/src/internal/reflectlite/value.go:226 +0x16f
errors.As({0x1006920, 0xc000611290}, {0xdb1c60?, 0xc0003b5da0})
	/opt/hostedtoolcache/go/1.21.3/x64/src/errors/wrap.go:111 +0x36c
github.com/consensys/gnark/std/math/emulated.(*Field[...]).reduceAndOp(0x101c820?, 0xc0001cbb58, 0xc0001cbb40, 0xc00051d6d0, 0x0)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:402 +0xe6
github.com/consensys/gnark/std/math/emulated.(*Field[...]).Inverse(0x10152b8?, 0xc0001b4bb0?)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:44 +0x7b
github.com/consensys/gnark/std/math/emulated.(*InverseCircuit[...]).Define(0x1008de0, {0x10152b8, 0xc0001b4bb0?})
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:386 +0x65
github.com/consensys/gnark/test.IsSolved({0x1006de0, 0xc00051d4a0}, {0x1006de0, 0xc00051d4f0}, 0xc0000f56e0, {0x0, 0x0, 0x0?})
	/home/runner/work/gnark/gnark/test/engine.go:131 +0x445
github.com/consensys/gnark/test.(*Assert).CheckCircuit.func1(0x0?)
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:49 +0x29b
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc000103040)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc000103040, 0xc0005aaef0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 296
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

@github-actions
Copy link
Copy Markdown

📦 github.com/consensys/gnark/std/math/emulated
TestInverse 0s

TestInverse/Goldilocks/limb=64 0s

TestInverse/Goldilocks/limb=64/bn254 0s

panic: test timed out after 30m0s
running tests:
	TestInverse (30m0s)
	TestInverse/Goldilocks/limb=64 (30m0s)
	TestInverse/Goldilocks/limb=64/bn254 (30m0s)

goroutine 322 [running]:
testing.(*M).startAlarm.func1()
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2259 +0x3b9
created by time.goFunc
	/opt/hostedtoolcache/go/1.21.3/x64/src/time/sleep.go:176 +0x2d

goroutine 1 [chan receive, 29 minutes]:
testing.(*T).Run(0xc0000d6ea0, {0xeb2e6c?, 0x51fadc?}, 0xf17a00)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
testing.runTests.func1(0x155cd00?)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2054 +0x3e
testing.tRunner(0xc0000d6ea0, 0xc0001b5c48)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
testing.runTests(0xc0001a5180?, {0x15538c0, 0x1d, 0x1d}, {0x4182bf?, 0xc0001b5d08?, 0x155b3e0?})
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2052 +0x445
testing.(*M).Run(0xc0001a5180)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1925 +0x636
main.main()
	_testmain.go:109 +0x19c

goroutine 304 [runnable]:
github.com/consensys/gnark/std/math/emulated.(*Field[...]).maxOverflow(0x101c820?)
	/home/runner/work/gnark/gnark/std/math/emulated/field.go:284 +0x70
github.com/consensys/gnark/std/math/emulated.(*Field[...]).mulPreCond(0x101c820, 0xc0003564b0, 0xc0000d1a50)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:203 +0xd5
github.com/consensys/gnark/std/math/emulated.(*Field[...]).inversePreCond(0x101c820?, 0xe4b6a0, 0xc000312b70?)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:48 +0x53
github.com/consensys/gnark/std/math/emulated.(*Field[...]).reduceAndOp(0x101c820?, 0xc0000d1b58, 0xc0000d1b40, 0xc0003564b0, 0x0)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:402 +0xb6
github.com/consensys/gnark/std/math/emulated.(*Field[...]).Inverse(0x10152b8?, 0xc0000c0f20?)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:44 +0x7b
github.com/consensys/gnark/std/math/emulated.(*InverseCircuit[...]).Define(0x1008de0, {0x10152b8, 0xc0000c0f20?})
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:386 +0x65
github.com/consensys/gnark/test.IsSolved({0x1006de0, 0xc000356280}, {0x1006de0, 0xc0003562d0}, 0xc0003a4f80, {0x0, 0x0, 0x0?})
	/home/runner/work/gnark/gnark/test/engine.go:131 +0x445
github.com/consensys/gnark/test.(*Assert).CheckCircuit.func1(0x0?)
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:49 +0x29b
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc0004831e0)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc0004831e0, 0xc000370340)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 303
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 303 [chan receive, 29 minutes]:
testing.(*T).Run(0xc000483040, {0xc000413660?, 0xc000083cc8?}, 0xc000370340)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc000370300, 0xc000127590, {0xc000083e08?, 0x151232c?, 0x2?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/test.(*Assert).CheckCircuit(0xc0003a4c60?, {0x1006de0?, 0xc000356280}, {0xc000083e88, 0x1, 0x1})
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:39 +0x168
github.com/consensys/gnark/std/math/emulated.testInverse[...].func1()
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:409 +0x2bd
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc000483040)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc000483040, 0xc0003702a0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 302
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 302 [chan receive, 29 minutes]:
testing.(*T).Run(0xc000482ea0, {0xc000116c60?, 0xc0002716d0?}, 0xc0003702a0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc000271718, 0xc000370290, {0xc000271728?, 0x39?, 0x5ad?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/std/math/emulated.testInverse[...](0xc000482ea0)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:403 +0x107
github.com/consensys/gnark/std/math/emulated.TestInverse(0xc0000a3c70?)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:392 +0x25
testing.tRunner(0xc000482ea0, 0xf17a00)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

@github-actions
Copy link
Copy Markdown

📦 github.com/consensys/gnark/std/math/emulated
TestInverse 0s

TestInverse/Goldilocks/limb=64 0s

TestInverse/Goldilocks/limb=64/bn254 0s

panic: test timed out after 30m0s
running tests:
	TestInverse (30m0s)
	TestInverse/Goldilocks/limb=64 (30m0s)
	TestInverse/Goldilocks/limb=64/bn254 (30m0s)

goroutine 306 [running]:
testing.(*M).startAlarm.func1()
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2259 +0x3b9
created by time.goFunc
	/opt/hostedtoolcache/go/1.21.3/x64/src/time/sleep.go:176 +0x2d

goroutine 1 [chan receive, 29 minutes]:
testing.(*T).Run(0xc000187a00, {0xeb2e6c?, 0x51fadc?}, 0xf17a00)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
testing.runTests.func1(0x155cd00?)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2054 +0x3e
testing.tRunner(0xc000187a00, 0xc00023bc48)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
testing.runTests(0xc00022b180?, {0x15538c0, 0x1d, 0x1d}, {0x4182bf?, 0xc00023bd08?, 0x155b3e0?})
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2052 +0x445
testing.(*M).Run(0xc00022b180)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1925 +0x636
main.main()
	_testmain.go:109 +0x19c

goroutine 299 [chan receive, 29 minutes]:
testing.(*T).Run(0xc0002fb380, {0xc0001d0138?, 0xc000502ed0?}, 0xc00003a6e0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc000502f18, 0xc00003a6d0, {0xc000502f28?, 0x39?, 0x5ad?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/std/math/emulated.testInverse[...](0xc0002fb380)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:403 +0x107
github.com/consensys/gnark/std/math/emulated.TestInverse(0xc000430d20?)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:392 +0x25
testing.tRunner(0xc0002fb380, 0xf17a00)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 300 [chan receive, 29 minutes]:
testing.(*T).Run(0xc0002fb520, {0xc0004053e8?, 0xc000391cc8?}, 0xc00003a780)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc00003a740, 0xc0004de600, {0xc000391e08?, 0x151232c?, 0x2?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/test.(*Assert).CheckCircuit(0xc0002f90c0?, {0x1006de0?, 0xc0004302d0}, {0xc000391e88, 0x1, 0x1})
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:39 +0x168
github.com/consensys/gnark/std/math/emulated.testInverse[...].func1()
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:409 +0x2bd
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc0002fb520)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc0002fb520, 0xc00003a6e0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 299
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 301 [runnable]:
github.com/consensys/gnark/std/math/emulated.(*Field[...]).Reduce(0x101c820?, 0xc000430500)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:252 +0x145
github.com/consensys/gnark/std/math/emulated.(*Field[...]).reduceAndOp(0x101c820?, 0xc0001cbb58, 0xc0001cbb40, 0xc000430500, 0x0)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:404 +0x132
github.com/consensys/gnark/std/math/emulated.(*Field[...]).Inverse(0x10152b8?, 0xc0001b4790?)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:44 +0x7b
github.com/consensys/gnark/std/math/emulated.(*InverseCircuit[...]).Define(0x1008de0, {0x10152b8, 0xc0001b4790?})
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:386 +0x65
github.com/consensys/gnark/test.IsSolved({0x1006de0, 0xc0004302d0}, {0x1006de0, 0xc000430320}, 0xc0002f93e0, {0x0, 0x0, 0x0?})
	/home/runner/work/gnark/gnark/test/engine.go:131 +0x445
github.com/consensys/gnark/test.(*Assert).CheckCircuit.func1(0x0?)
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:49 +0x29b
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc0002fb6c0)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc0002fb6c0, 0xc00003a780)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 300
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

@github-actions
Copy link
Copy Markdown

📦 github.com/consensys/gnark/std/math/emulated
TestInverse 0s

TestInverse/Goldilocks/limb=64 0s

TestInverse/Goldilocks/limb=64/bn254 0s

panic: test timed out after 30m0s
running tests:
	TestInverse (30m0s)
	TestInverse/Goldilocks/limb=64 (30m0s)
	TestInverse/Goldilocks/limb=64/bn254 (30m0s)

goroutine 321 [running]:
testing.(*M).startAlarm.func1()
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2259 +0x3b9
created by time.goFunc
	/opt/hostedtoolcache/go/1.21.3/x64/src/time/sleep.go:176 +0x2d

goroutine 1 [chan receive, 29 minutes]:
testing.(*T).Run(0xc0000d6ea0, {0xeb404c?, 0x51fadc?}, 0xf18be0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
testing.runTests.func1(0x155ed00?)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2054 +0x3e
testing.tRunner(0xc0000d6ea0, 0xc000135c48)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
testing.runTests(0xc000125180?, {0x15558c0, 0x1d, 0x1d}, {0x4182bf?, 0xc000135d08?, 0x155d3e0?})
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:2052 +0x445
testing.(*M).Run(0xc000125180)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1925 +0x636
main.main()
	_testmain.go:109 +0x19c

goroutine 316 [chan receive, 29 minutes]:
testing.(*T).Run(0xc00035f380, {0xc0003aa318?, 0xc00006bed0?}, 0xc000351310)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc00006bf18, 0xc000351300, {0xc00006bf28?, 0x39?, 0x5ad?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/std/math/emulated.testInverse[...](0xc00035f380)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:403 +0x107
github.com/consensys/gnark/std/math/emulated.TestInverse(0xc0003a8320?)
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:392 +0x25
testing.tRunner(0xc00035f380, 0xf18be0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 317 [chan receive, 29 minutes]:
testing.(*T).Run(0xc00035f520, {0xc00052e828?, 0xc000086cc8?}, 0xc0003513b0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1649 +0x3c8
github.com/consensys/gnark/test.(*Assert).Run(0xc000351370, 0xc00018ac60, {0xc000086e08?, 0x151432c?, 0x2?})
	/home/runner/work/gnark/gnark/test/assert.go:64 +0x99
github.com/consensys/gnark/test.(*Assert).CheckCircuit(0xc00053e980?, {0x1007fe0?, 0xc0003a8910}, {0xc000086e88, 0x1, 0x1})
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:39 +0x168
github.com/consensys/gnark/std/math/emulated.testInverse[...].func1()
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:409 +0x2bd
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc00035f520)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc00035f520, 0xc000351310)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 316
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

goroutine 318 [runnable]:
internal/reflectlite.flag.mustBeExported(0x99?)
	/opt/hostedtoolcache/go/1.21.3/x64/src/internal/reflectlite/value.go:188 +0xcf
internal/reflectlite.Value.Set({0xe4c760?, 0xc00018ae40?, 0xe4c760?}, {0xe4c760?, 0xc00011f020?, 0xc0000ae9f0?})
	/opt/hostedtoolcache/go/1.21.3/x64/src/internal/reflectlite/value.go:363 +0x5f
errors.As({0x1007b20, 0xc00011f020}, {0xdb2d20?, 0xc00018ae40})
	/opt/hostedtoolcache/go/1.21.3/x64/src/errors/wrap.go:111 +0x434
github.com/consensys/gnark/std/math/emulated.(*Field[...]).reduceAndOp(0x101da20?, 0xc0000cfb50, 0xc0000cfb38, 0xc0003a8b40, 0x0)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:402 +0xe6
github.com/consensys/gnark/std/math/emulated.(*Field[...]).Inverse(0x10164b8?, 0xc00054e210?)
	/home/runner/work/gnark/gnark/std/math/emulated/field_ops.go:44 +0x7b
github.com/consensys/gnark/std/math/emulated.(*InverseCircuit[...]).Define(0x1009fe0, {0x10164b8, 0xc00054e210?})
	/home/runner/work/gnark/gnark/std/math/emulated/element_test.go:386 +0x65
github.com/consensys/gnark/test.IsSolved({0x1007fe0, 0xc0003a8910}, {0x1007fe0, 0xc0003a8960}, 0xc00053eca0, {0x0, 0x0, 0x0?})
	/home/runner/work/gnark/gnark/test/engine.go:139 +0x4cf
github.com/consensys/gnark/test.(*Assert).CheckCircuit.func1(0x0?)
	/home/runner/work/gnark/gnark/test/assert_checkcircuit.go:49 +0x29b
github.com/consensys/gnark/test.(*Assert).Run.func1(0xc00055c000)
	/home/runner/work/gnark/gnark/test/assert.go:66 +0xa7
testing.tRunner(0xc00055c000, 0xc0003513b0)
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 317
	/opt/hostedtoolcache/go/1.21.3/x64/src/testing/testing.go:1648 +0x3ad

@github-actions
Copy link
Copy Markdown

📦 github.com/consensys/gnark/std/gkr
TestMiMCFullDepthNoDepSolve 0s

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb7a52a]

goroutine 102366 [running]:
github.com/consensys/gnark-crypto/ecc/bn254/fr/iop.(*Polynomial).ToCanonical(0x0, 0xc0001bfc80?, {0xc000612f60?, 0xc0?, 0xfcd2e0?})
	/home/runner/go/pkg/mod/github.com/consensys/gnark-crypto@v0.12.2-0.20231023220848-538dff926c15/ecc/bn254/fr/iop/polynomial.go:338 +0x2a
github.com/consensys/gnark/backend/plonk/bn254.(*instance).computeNumerator.func6(0x0)
	/home/runner/work/gnark/gnark/backend/plonk/bn254/prove.go:996 +0xc5
github.com/consensys/gnark/backend/plonk/bn254.batchApply.func1(0xc0001827a0?)
	/home/runner/work/gnark/gnark/backend/plonk/bn254/prove.go:1092 +0x31
created by github.com/consensys/gnark/backend/plonk/bn254.batchApply in goroutine 96401
	/home/runner/work/gnark/gnark/backend/plonk/bn254/prove.go:1091 +0x12b

Comment thread frontend/cs/scs/api.go Outdated
}

// NewCombination in the form of res = qL.a + qR.b + qM.ab + qC
func (builder *builder) NewCombination(a, b frontend.Variable, qL, qR, qM, qC int) frontend.Variable {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion;
rename to api.EvaluatePlonkExpression + in this function, check that a, b are not constant and do the appropriate path if they are. (else this function will panic).

also add a corresponding interface so that in a circuit, one can check if _, ok := api.(...); ok and have a fail over path for R1CS for example

Comment thread std/compress/io.go Outdated
"os"
)

func GzWrite(outFileName string, o io.WriterTo) error {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to expose that exactly? if you only need it in test, put it iin _test.go files 👍 (but I don't understand from the code why we need it)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently using it for code that outputs the compiled cs, which has to run as a standalone application and not a test.

Comment thread std/compress/io.go Outdated
return a[0]
}

func Pack(api frontend.API, words []frontend.Variable, wordLen int) []frontend.Variable {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should not be here

@Tabaie Tabaie requested a review from gbotrel November 16, 2023 20:47
@gbotrel gbotrel merged commit 51719fe into master Nov 17, 2023
@gbotrel gbotrel deleted the perf/multisymbol-4bw branch November 17, 2023 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants