1

I am working on a macOS app. The app is already live on the mac App store.

Some of my users are reporting that they can not open the app. To find out the exact reason, I reached out to one of the user and asked him to start dtruss and then open app so that I can check the low level logs using this command,

sudo dtruss -n APPNAME

After checking the logs, this is where it gets stuck,

69180/0x3c9468:  stat64("/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/3902/Libraries/libmetal_timestamp.dylib\0", 0x7FFEE457C4D0, 0x0)   = 0 0
69180/0x3c9468:  open_nocancel("/System/Library/Frameworks/CoreImage.framework/Resources/ci_stdlib.metallib\0", 0x0, 0x1B6)      = 5 0
69180/0x3c9468:  fstat64(0x5, 0x7FFEE457CC28, 0x0)       = 0 0
69180/0x3c9468:  lseek(0x5, 0x0, 0x1)        = 0 0
69180/0x3c9468:  lseek(0x5, 0x0, 0x0)        = 0 0
dtrace: error on enabled probe ID 2187 (ID 951: syscall::read_nocancel:return): invalid kernel access in action #13 at DIF offset 68
69180/0x3c9468:  lseek(0x5, 0xFFFFFFFFFFFFF058, 0x1)         = 88 0
69180/0x3c9468:  fstat64(0x5, 0x7FFEE457CD10, 0x0)       = 0 0
69180/0x3c9468:  lseek(0x5, 0x1B000, 0x0)        = 110592 0
dtrace: error on enabled probe ID 2187 (ID 951: syscall::read_nocancel:return): invalid kernel access in action #13 at DIF offset 68
69180/0x3c9468:  lseek(0x5, 0x0, 0x0)        = 0 0
dtrace: error on enabled probe ID 2187 (ID 951: syscall::read_nocancel:return): invalid kernel access in action #13 at DIF offset 68
69180/0x3c9468:  lseek(0x5, 0xFFFFFFFFFFFFF058, 0x1)         = 88 0
69180/0x3c9468:  lseek(0x5, 0x0, 0x0)        = 0 0
dtrace: error on enabled probe ID 2187 (ID 951: syscall::read_nocancel:return): invalid kernel access in action #13 at DIF offset 68
69180/0x3c9468:  lseek(0x5, 0xFFFFFFFFFFFFF05C, 0x1)         = 92 0
dtrace: error on enabled probe ID 2187 (ID 951: syscall::read_nocancel:return): invalid kernel access in action #13 at DIF offset 68
69180/0x3c9468:  lseek(0x5, 0xFFFFFFFFFFFFF035, 0x1)         = 145 0
69180/0x3c9468:  lseek(0x5, 0x0, 0x0)        = 0 0

The same repeated error is getting logged and app does not open at all. I would really appreciate if anyone can get help me get rid of this issue.

Ajay
  • 1,622
  • 20
  • 36
  • dtrace/dtruss doesn't give particularly helpful results with SIP enabled. To make it work properly, you need to disable (that part of) SIP. e.g. `csrutil enable --without dtrace` in the recovery console. However, I suspect your app may be falling afoul a different issue than a failing syscall, so you'll want to get your users to check for crash reports first. – pmdj Oct 15 '20 at 08:13
  • Note also that Apple recently changed the format of some of its App Store receipts, so if you're doing receipt validation, you might want to start looking there: https://twitter.com/depth42/status/1313750495710904320?s=20 – pmdj Oct 15 '20 at 08:28
  • @pmdj I am not using any in app purchase or App Store receipts. It all starts after i_stdlib.metallib call. I am not sure if I can make user SIP disable, this is what I've so far. – Ajay Oct 15 '20 at 13:45
  • and yes @pmdj there is nothing in the crash logs, the app is just not starting up at all. – Ajay Oct 15 '20 at 13:55
  • Just to be clear: I don't believe these errors are errors occurring in your app, these are almost certainly DTrace SIP errors, so when they start doesn't matter. If your app isn't crashing, are you or any of the libraries you use calling exit() or similar? – pmdj Oct 15 '20 at 14:15
  • @pmdj Agree with you that these errors are not the errors occurring in the app. But I am not sure how to get to the bottom this. I've got 5k+ live users and only 8 users are having this issue. not calling exit() or similar functions as well. – Ajay Oct 15 '20 at 14:48
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/223099/discussion-between-ajay-and-pmdj). – Ajay Oct 15 '20 at 14:57

0 Answers0