segfault in emiting op
Hello, I'm seeing a segfault in the traced app, when it's trying to write to the shared memory buffer back to `fsatrace`:
```
<segv>
#4 emitOp (oc=oc@entry=114, op1=<optimized out>, p2=p2@entry=0x0) at src/emit.c:118
#5 0x00007f6fa63525f3 in fdemit (c=c@entry=114, fd=fd@entry=16) at src/unix/fsatraceso.c:118
#6 0x00007f6fa6352937 in openat64 (fd=-100, p=<optimized out>, f=<optimized out>, m=<optimized out>) at src/unix/fsatraceso.c:269
```
I don't have much more info at this time, but from looking at the source, is this likely to be running past the end of the buffer?
From my reading of main(), all accesses are buffered in the shared memory buffer until the process is complete, and then written, correct? (no concurrent access)
https://github.com/jacereda/fsatrace/blob/master/src/fsatrace.c#L193-L203
And the default logsize is 1MB of text?
https://github.com/jacereda/fsatrace/blob/master/src/fsatrace.h#L4
Which can be overridden by setting the env var `FSAT_BUF_SIZE`?
8 条评论