pdfcpu / pdfcpu

A PDF processor written in Go.

Home Page:http://pdfcpu.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stack overflow when optimize pdf using API

septiyanmudhiya502 opened this issue · comments

Hi team, recently our app keep crashing when doing optimize PDF using API, here is the log. The pdf file is only 1,6mb in size.

writing /Users/septiyanmudhiya/Downloads/test1mb.pdf...
INFO: 2024/05/06 14:29:25 PDF Version 1.5 conforming reader
INFO: 2024/05/06 14:29:25 validating
optimizing...
INFO: 2024/05/06 14:29:25 optimizing fonts & images
runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0x140209603b0 stack=[0x14020960000, 0x14040960000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x102bca453?, 0x10274ee01?})
runtime/panic.go:1023 +0x40 fp=0x16f6fed50 sp=0x16f6fed20 pc=0x102756f70
runtime.newstack()
runtime/stack.go:1103 +0x460 fp=0x16f6fef00 sp=0x16f6fed50 pc=0x102773700
runtime.morestack()
runtime/asm_arm64.s:341 +0x70 fp=0x16f6fef00 sp=0x16f6fef00 pc=0x10278b2a0

goroutine 1 gp=0x140000021c0 m=5 mp=0x14000100008 [running]:
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.(*XRefTable).indRefToObject(0x140001c81e0?, 0x140209603d8?, 0x1?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/dereference.go:64 +0x208 fp=0x140209603b0 sp=0x140209603b0 pc=0x1028ea6a8
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.(*XRefTable).Dereference(0x14020960468?, {0x102dab0b0?, 0x140008ae140?})
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/dereference.go:101 +0x5c fp=0x140209603f0 sp=0x140209603b0 pc=0x1028ea71c
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae140?}, {0x102dab0b0, 0x140008ac980}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:44 +0xc0 fp=0x14020960580 sp=0x140209603f0 pc=0x1028f2080
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cf00, 0x140002264e0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020960650 sp=0x14020960580 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048cf00?}, {0x102daaf90, 0x140002264e0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x140209607e0 sp=0x14020960650 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ced0, 0x140002264b0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x140209608b0 sp=0x140209607e0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048ced0?}, {0x102daaf90, 0x140002264b0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020960a40 sp=0x140209608b0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cea0, 0x14000226480, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020960b10 sp=0x14020960a40 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x14020960c20, 0x14020960ba8, 0x14020960cb8?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x14020960b40 sp=0x14020960b10 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae170?}, {0x102dab0b0, 0x140008acaa0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x14020960cd0 sp=0x14020960b40 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ce70, 0x14000226450, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020960da0 sp=0x14020960cd0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1c0?}, {0x102dab0b0, 0x140008acab0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020960f30 sp=0x14020960da0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d110, 0x14000226420, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020961000 sp=0x14020960f30 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1d0?}, {0x102dab0b0, 0x140008acac0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020961190 sp=0x14020961000 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d170, 0x140002263c0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020961260 sp=0x14020961190 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1e0?}, {0x102dab0b0, 0x140008acaf0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x140209613f0 sp=0x14020961260 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cc60, 0x140001f3800, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x140209614c0 sp=0x140209613f0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x140209615d0, 0x14020961558, 0x14020961668?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x140209614f0 sp=0x140209614c0 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae140?}, {0x102dab0b0, 0x140008ac980}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x14020961680 sp=0x140209614f0 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cf00, 0x140002264e0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020961750 sp=0x14020961680 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048cf00?}, {0x102daaf90, 0x140002264e0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x140209618e0 sp=0x14020961750 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ced0, 0x140002264b0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x140209619b0 sp=0x140209618e0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048ced0?}, {0x102daaf90, 0x140002264b0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020961b40 sp=0x140209619b0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cea0, 0x14000226480, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020961c10 sp=0x14020961b40 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x14020961d20, 0x14020961ca8, 0x14020961db8?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x14020961c40 sp=0x14020961c10 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae170?}, {0x102dab0b0, 0x140008acaa0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x14020961dd0 sp=0x14020961c40 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ce70, 0x14000226450, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020961ea0 sp=0x14020961dd0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1c0?}, {0x102dab0b0, 0x140008acab0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020962030 sp=0x14020961ea0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d110, 0x14000226420, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020962100 sp=0x14020962030 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1d0?}, {0x102dab0b0, 0x140008acac0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020962290 sp=0x14020962100 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d170, 0x140002263c0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020962360 sp=0x14020962290 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1e0?}, {0x102dab0b0, 0x140008acaf0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x140209624f0 sp=0x14020962360 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cc60, 0x140001f3800, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x140209625c0 sp=0x140209624f0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x140209626d0, 0x14020962658, 0x14020962768?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x140209625f0 sp=0x140209625c0 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae140?}, {0x102dab0b0, 0x140008ac980}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x14020962780 sp=0x140209625f0 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cf00, 0x140002264e0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020962850 sp=0x14020962780 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048cf00?}, {0x102daaf90, 0x140002264e0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x140209629e0 sp=0x14020962850 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ced0, 0x140002264b0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020962ab0 sp=0x140209629e0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048ced0?}, {0x102daaf90, 0x140002264b0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020962c40 sp=0x14020962ab0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cea0, 0x14000226480, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020962d10 sp=0x14020962c40 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x14020962e20, 0x14020962da8, 0x14020962eb8?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x14020962d40 sp=0x14020962d10 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae170?}, {0x102dab0b0, 0x140008acaa0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x14020962ed0 sp=0x14020962d40 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ce70, 0x14000226450, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020962fa0 sp=0x14020962ed0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1c0?}, {0x102dab0b0, 0x140008acab0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020963130 sp=0x14020962fa0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d110, 0x14000226420, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020963200 sp=0x14020963130 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1d0?}, {0x102dab0b0, 0x140008acac0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x14020963390 sp=0x14020963200 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d170, 0x140002263c0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x14020963460 sp=0x14020963390 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1e0?}, {0x102dab0b0, 0x140008acaf0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x140209635f0 sp=0x14020963460 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cc60, 0x140001f3800, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x140209636c0 sp=0x140209635f0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x140209637d0, 0x14020963758, 0x14020963868?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x140209636f0 sp=0x140209636c0 pc=0x1028f2604
...1973698 frames elided...
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048cf00?}, {0x102daaf90, 0x140002264e0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095d6e0 sp=0x1404095d550 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ced0, 0x140002264b0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095d7b0 sp=0x1404095d6e0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048ced0?}, {0x102daaf90, 0x140002264b0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095d940 sp=0x1404095d7b0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cea0, 0x14000226480, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095da10 sp=0x1404095d940 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x1404095db20, 0x1404095daa8, 0x14000037bb8?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x1404095da40 sp=0x1404095da10 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae170?}, {0x102dab0b0, 0x140008acaa0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x1404095dbd0 sp=0x1404095da40 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ce70, 0x14000226450, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095dca0 sp=0x1404095dbd0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1c0?}, {0x102dab0b0, 0x140008acab0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095de30 sp=0x1404095dca0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d110, 0x14000226420, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095df00 sp=0x1404095de30 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1d0?}, {0x102dab0b0, 0x140008acac0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095e090 sp=0x1404095df00 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d170, 0x140002263c0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095e160 sp=0x1404095e090 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1e0?}, {0x102dab0b0, 0x140008acaf0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095e2f0 sp=0x1404095e160 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cc60, 0x140001f3800, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095e3c0 sp=0x1404095e2f0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x1404095e4d0, 0x1404095e458, 0x14000038568?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x1404095e3f0 sp=0x1404095e3c0 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae140?}, {0x102dab0b0, 0x140008ac980}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x1404095e580 sp=0x1404095e3f0 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cf00, 0x140002264e0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095e650 sp=0x1404095e580 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048cf00?}, {0x102daaf90, 0x140002264e0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095e7e0 sp=0x1404095e650 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ced0, 0x140002264b0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095e8b0 sp=0x1404095e7e0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102daaf90, 0x1400048ced0?}, {0x102daaf90, 0x140002264b0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095ea40 sp=0x1404095e8b0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cea0, 0x14000226480, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095eb10 sp=0x1404095ea40 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x1404095ec20, 0x1404095eba8, 0x14000038cb8?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x1404095eb40 sp=0x1404095eb10 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae170?}, {0x102dab0b0, 0x140008acaa0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:78 +0x314 fp=0x1404095ecd0 sp=0x1404095eb40 pc=0x1028f22d4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048ce70, 0x14000226450, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095eda0 sp=0x1404095ecd0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1c0?}, {0x102dab0b0, 0x140008acab0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095ef30 sp=0x1404095eda0 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d110, 0x14000226420, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095f000 sp=0x1404095ef30 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1d0?}, {0x102dab0b0, 0x140008acac0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095f190 sp=0x1404095f000 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048d170, 0x140002263c0, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095f260 sp=0x1404095f190 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualObjects({0x102dab0b0, 0x140008ae1e0?}, {0x102dab0b0, 0x140008acaf0}, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:73 +0x20c fp=0x1404095f3f0 sp=0x1404095f260 pc=0x1028f21cc
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.equalDicts(0x1400048cc60, 0x140001f3800, 0x140001c81e0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:202 +0x224 fp=0x1404095f4c0 sp=0x1404095f3f0 pc=0x1028f2b94
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model.EqualStreamDicts(0x1400088bd80, 0x1400088bc80, 0xcf7?)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model/equal.go:114 +0x34 fp=0x1404095f4f0 sp=0x1404095f4c0 pc=0x1028f2604
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.optimizeXObjectForm(0x140002261b0, 0x1400088bd80, 0xc0e)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:464 +0x270 fp=0x1404095f600 sp=0x1404095f4f0 pc=0x102ad7c40
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.optimizeForm(0x140002261b0, 0x1400088bd80, {0x140002db40f, 0x5}, 0x1400048d200, 0x102ad8b14?, 0x1, 0xc, {0x140006c7640, 0x1, ...})
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:504 +0x4c fp=0x1404095f6b0 sp=0x1404095f600 pc=0x102ad7e7c
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.optimizeXObjectResourcesDict(0x140002261b0, 0x1400048d200, 0x1, 0xc, {0x140000398e8, 0x0, 0x0})
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:579 +0x734 fp=0x1404095f820 sp=0x1404095f6b0 pc=0x102ad88a4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.optimizeResources(0x140002261b0, 0x1400024bcb0, 0x1, 0xc, {0x140000398e8, 0x0, 0x0})
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:641 +0x210 fp=0x1404095f8a0 sp=0x1404095f820 pc=0x102ad8b70
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.parseResourcesDict(0x140002261b0, 0x1400024bc80, 0x1, 0xc)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:676 +0x17c fp=0x1404095f910 sp=0x1404095f8a0 pc=0x102ad8eac
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.parsePagesDict(0x140002261b0, 0x1400024b920, 0x0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:755 +0x4d4 fp=0x1404095f9c0 sp=0x1404095f910 pc=0x102ad94c4
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.optimizeFontAndImages(0x140002261b0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:906 +0x228 fp=0x1404095fa10 sp=0x1404095f9c0 pc=0x102ada1b8
github.com/pdfcpu/pdfcpu/pkg/pdfcpu.OptimizeXRefTable(0x140002261b0)
github.com/pdfcpu/pdfcpu/pkg/pdfcpu/optimize.go:1454 +0x150 fp=0x1404095fa50 sp=0x1404095fa10 pc=0x102adca50
github.com/pdfcpu/pdfcpu/pkg/api.OptimizeContext(0x140002261b0?)
github.com/pdfcpu/pdfcpu/pkg/api/api.go:114 +0x84 fp=0x1404095fa90 sp=0x1404095fa50 pc=0x102b79b64
github.com/pdfcpu/pdfcpu/pkg/api.ReadValidateAndOptimize({0x102daa1b0?, 0x14000062710?}, 0x14000206340)
github.com/pdfcpu/pdfcpu/pkg/api/api.go:183 +0x78 fp=0x1404095fad0 sp=0x1404095fa90 pc=0x102b7a268
github.com/pdfcpu/pdfcpu/pkg/api.Optimize({0x102daa1b0?, 0x14000062710?}, {0x102da84e8, 0x14000062718}, 0x30?)
github.com/pdfcpu/pdfcpu/pkg/api/optimize.go:39 +0x58 fp=0x1404095fb30 sp=0x1404095fad0 pc=0x102b907f8
github.com/pdfcpu/pdfcpu/pkg/api.OptimizeFile({0x16d6df39b, 0x2c}, {0x16d6df39b, 0x2c}, 0x14000206340)
github.com/pdfcpu/pdfcpu/pkg/api/optimize.go:108 +0x1d8 fp=0x1404095fc00 sp=0x1404095fb30 pc=0x102b90b78
github.com/pdfcpu/pdfcpu/pkg/cli.Optimize(0x102d28e20?)
github.com/pdfcpu/pdfcpu/pkg/cli/cli.go:32 +0x3c fp=0x1404095fc40 sp=0x1404095fc00 pc=0x102b9f42c
github.com/pdfcpu/pdfcpu/pkg/cli.Process(0x14000224000)
github.com/pdfcpu/pdfcpu/pkg/cli/process.go:35 +0x94 fp=0x1404095fcd0 sp=0x1404095fc40 pc=0x102baab04
main.process(0x16d6df39b?)
github.com/pdfcpu/pdfcpu/cmd/pdfcpu/process.go:150 +0x1c fp=0x1404095fd50 sp=0x1404095fcd0 pc=0x102bb48fc
main.processOptimizeCommand(0x14000206340)
github.com/pdfcpu/pdfcpu/cmd/pdfcpu/process.go:232 +0x204 fp=0x1404095fdd0 sp=0x1404095fd50 pc=0x102bb5174
main.commandMap.process(0x140001f2c00, {0x16d6df38f, 0x8}, {0x0, 0x0})
github.com/pdfcpu/pdfcpu/cmd/pdfcpu/cmd.go:143 +0x2e0 fp=0x1404095fea0 sp=0x1404095fdd0 pc=0x102bac590
main.main()
github.com/pdfcpu/pdfcpu/cmd/pdfcpu/main.go:56 +0xac fp=0x1404095ff40 sp=0x1404095fea0 pc=0x102bb3d4c
runtime.main()
runtime/proc.go:271 +0x28c fp=0x1404095ffd0 sp=0x1404095ff40 pc=0x1027598ac
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1404095ffd0 sp=0x1404095ffd0 pc=0x10278d674

goroutine 2 gp=0x14000002c40 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x1400005ef90 sp=0x1400005ef70 pc=0x102759cd8
runtime.goparkunlock(...)
runtime/proc.go:408
runtime.forcegchelper()
runtime/proc.go:326 +0xb8 fp=0x1400005efd0 sp=0x1400005ef90 pc=0x102759b68
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005efd0 sp=0x1400005efd0 pc=0x10278d674
created by runtime.init.6 in goroutine 1
runtime/proc.go:314 +0x24

goroutine 3 gp=0x14000003180 m=nil [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x1400005f760 sp=0x1400005f740 pc=0x102759cd8
runtime.goparkunlock(...)
runtime/proc.go:408
runtime.bgsweep(0x14000032070)
runtime/mgcsweep.go:318 +0x108 fp=0x1400005f7b0 sp=0x1400005f760 pc=0x102745f78
runtime.gcenable.gowrap1()
runtime/mgc.go:203 +0x28 fp=0x1400005f7d0 sp=0x1400005f7b0 pc=0x10273a388
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005f7d0 sp=0x1400005f7d0 pc=0x10278d674
created by runtime.gcenable in goroutine 1
runtime/mgc.go:203 +0x6c

goroutine 4 gp=0x14000003340 m=nil [GC scavenge wait]:
runtime.gopark(0x10000?, 0x6553f100?, 0x0?, 0x0?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x1400005ff60 sp=0x1400005ff40 pc=0x102759cd8
runtime.goparkunlock(...)
runtime/proc.go:408
runtime.(*scavengerState).park(0x103163e60)
runtime/mgcscavenge.go:425 +0x5c fp=0x1400005ff90 sp=0x1400005ff60 pc=0x1027438fc
runtime.bgscavenge(0x14000032070)
runtime/mgcscavenge.go:658 +0xac fp=0x1400005ffb0 sp=0x1400005ff90 pc=0x102743ebc
runtime.gcenable.gowrap2()
runtime/mgc.go:204 +0x28 fp=0x1400005ffd0 sp=0x1400005ffb0 pc=0x10273a328
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005ffd0 sp=0x1400005ffd0 pc=0x10278d674
created by runtime.gcenable in goroutine 1
runtime/mgc.go:204 +0xac

goroutine 5 gp=0x14000003c00 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0x0?, 0xb8?, 0xe5?, 0x102788b64?)
runtime/proc.go:402 +0xc8 fp=0x1400005e580 sp=0x1400005e560 pc=0x102759cd8
runtime.runfinq()
runtime/mfinal.go:194 +0x108 fp=0x1400005e7d0 sp=0x1400005e580 pc=0x102739458
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005e7d0 sp=0x1400005e7d0 pc=0x10278d674
created by runtime.createfing in goroutine 1
runtime/mfinal.go:164 +0x80

goroutine 6 gp=0x14000498000 m=nil [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x14000060730 sp=0x14000060710 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x140000607d0 sp=0x14000060730 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x140000607d0 sp=0x140000607d0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 18 gp=0x14000500000 m=nil [GC worker (idle)]:
runtime.gopark(0x59f884f4645a?, 0x3?, 0x56?, 0x7?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x1400005a730 sp=0x1400005a710 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x1400005a7d0 sp=0x1400005a730 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005a7d0 sp=0x1400005a7d0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 34 gp=0x14000104380 m=nil [GC worker (idle)]:
runtime.gopark(0x59f884f46a89?, 0x0?, 0x0?, 0x0?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x14000116730 sp=0x14000116710 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x140001167d0 sp=0x14000116730 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x140001167d0 sp=0x140001167d0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 35 gp=0x14000104540 m=nil [GC worker (idle)]:
runtime.gopark(0x59f884f30b4d?, 0x0?, 0x0?, 0x0?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x14000116f30 sp=0x14000116f10 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x14000116fd0 sp=0x14000116f30 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x14000116fd0 sp=0x14000116fd0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 7 gp=0x140004981c0 m=nil [GC worker (idle)]:
runtime.gopark(0x59f884f46da1?, 0x3?, 0x41?, 0x52?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x14000060f30 sp=0x14000060f10 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x14000060fd0 sp=0x14000060f30 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x14000060fd0 sp=0x14000060fd0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 19 gp=0x140005001c0 m=nil [GC worker (idle)]:
runtime.gopark(0x59f884f30bca?, 0x3?, 0x81?, 0x7a?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x1400005af30 sp=0x1400005af10 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x1400005afd0 sp=0x1400005af30 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005afd0 sp=0x1400005afd0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 20 gp=0x14000500380 m=nil [GC worker (idle)]:
runtime.gopark(0x1031cc2a0?, 0x1?, 0xad?, 0x1b?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x1400005b730 sp=0x1400005b710 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x1400005b7d0 sp=0x1400005b730 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x1400005b7d0 sp=0x1400005b7d0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

goroutine 8 gp=0x14000498380 m=nil [GC worker (idle)]:
runtime.gopark(0x59f884f44038?, 0x1?, 0x59?, 0xfe?, 0x0?)
runtime/proc.go:402 +0xc8 fp=0x14000061730 sp=0x14000061710 pc=0x102759cd8
runtime.gcBgMarkWorker()
runtime/mgc.go:1310 +0xd8 fp=0x140000617d0 sp=0x14000061730 pc=0x10273c218
runtime.goexit({})
runtime/asm_arm64.s:1222 +0x4 fp=0x140000617d0 sp=0x140000617d0 pc=0x10278d674
created by runtime.gcBgMarkStartWorkers in goroutine 1
runtime/mgc.go:1234 +0x28

Thank you for your help 🙏

Thank you for submitting a possible bug!

Please ensure the following:

  • Your issue is based on the latest commit: yes
  • State your OS and OS version: Alpine 3.14 and MacOS Monterey 12.5.1
  • When reporting a problem with a specific PDF input file please avoid stating the organization responsible for the PDFWriter - just refer to the PDFWriter

Interesting..
This file has some recursion going on in the cross reference table.
Would it be possible to share this file, then I can provide a fix.

Interesting.. This file has some recursion going on in the cross reference table. Would it be possible to share this file, then I can provide a fix.

I have sent you an email with the file related to this. Thank you for your help !