govips: signal: segmentation fault

I had a Go project running around 250 concurrent image processing routines and had a crash with the only message being signal: segmentation fault.

I am running Ubuntu 22.04. on WSL2.

I have seen this note on memory. Can it be related to that? If so, how/where would I set the MALLOC_ARENA_MAX?

Something else that might be interesting is the ulimit -a output so I’ll dump it here:

ulimit -a
real-time non-blocking time  (microseconds, -R) unlimited
core file size              (blocks, -c) 0
data seg size               (kbytes, -d) unlimited
scheduling priority                 (-e) 0
file size                   (blocks, -f) unlimited
pending signals                     (-i) 63824
max locked memory           (kbytes, -l) 65536
max memory size             (kbytes, -m) unlimited
open files                          (-n) 65535
pipe size                (512 bytes, -p) 8
POSIX message queues         (bytes, -q) 819200
real-time priority                  (-r) 0
stack size                  (kbytes, -s) 8192
cpu time                   (seconds, -t) unlimited
max user processes                  (-u) 63824
virtual memory              (kbytes, -v) unlimited
file locks                          (-x) unlimited

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 1
  • Comments: 15 (3 by maintainers)

Most upvoted comments

We mitigated by creating new processes that do vips stuff, and channeling data to them via stdin and from them via stdout. Very not cool but it works - if vips process crashes main process stays alive.

It would be much better if process would never crash, but I guess big part of engineering is getting the best out of the black box… 😃