Tuesday, December 20, 2016

DTrace at Home

Adam Leventhal:

I’m not the first person to hit this. The problem seems to have existed since CS6 was released in 2016. None of the solutions was working for me, and — inspired by Sara Mauskopf’s excellent post — I was rapidly running out of the time bounds for the project. Enough; I’d just DTrace it.

[…]

Looking through /usr/include/sys/resource.h we can see that 1008 corresponds to the number of files (RLIMIT_NOFILE | _RLIMIT_POSIX_FLAG). Illustrator is trying to set that value to 0x7fffffffffffffff or 2⁶³-1. Apparently too big; I filed any latent curiosity for another day.

[…]

First I used DTrace to find the code that was calling setrlimit(2): using some knowledge of the x86 ISA/ABI[…]

[…]

Instead I used lldb to replace the call with a store of 0 to %eax (to evince a successful return value) and some nops as padding[…]

Comments RSS · Twitter

Leave a Comment