Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Codesign gdb on OSX

Note: these instructions are for pre-Sierra MacOS. Sierra Users: see https://gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d by @gravitylow.

If you are getting this in gdb on OSX while trying to run a program:

Unable to find Mach task port for process-id 57573: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))
  1. Open Keychain Access
  2. In the menu, open Keychain Access > Certificate Assistant > Create a certificate
  3. Give it a name (e.g. gdbc)
    • Identity type: Self Signed Root
    • Certificate type: Code Signing
    • Check: let me override defaults
  4. Continue until it prompts you for: "specify a location for..."
  5. Set Keychain location to System
  6. Create a certificate and close assistant.
  7. Find the certificate in System keychains, right click it > get info (or just double click it)
  8. Expand Trust, set Code signing to always trust
  9. Restart taskgated in terminal: killall taskgated
  10. Enable root account:
    1. Open System Preferences
    2. Go to User & Groups > Unlock
    3. Login Options > "Join" (next to Network Account Server)
    4. Click "Open Directory Utility"
    5. Go up to Edit > Enable Root User
  11. Run codesign -fs gdbc /usr/local/bin/gdb in terminal: this asks for the root password
  12. Disable root account (see #10)

Done!

Thanks very helpful resource.

Arxcis commented May 29, 2017

Thank you!

Has anyone got this working on macOS 10.12.5?

The trust tab seems to have been removed in OSX 10.12 (sierra).

@fabulousduck Trust is still there. Make sure you're clicking on the certificate and not on the public or private key.

I updated this with the extra step to modify System Integrity Protection which is required to make this work on Sierra's additional security: https://gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d

You are my hero. Seriously, I have spent the last two hours trying to figure out what was wrong and this post was the answer.

Thanks! That helps!

unknown error = -2.147.414.007 when I create cert
someone knows why Im getting this error here?

sidoh commented Oct 16, 2017

Thank you for this!

dtamayo commented Oct 19, 2017

@AlexVejo92, I got the same error. Couldn't fix it, but was able to create it in the login keychain. Then in Keychain, click on it, file->export to some location, then under the System Keychain, file->import it

@dtamayo: many thanks for the workaround.

pbazard commented Oct 31, 2017

Thanks a lot, very helpful

tjmehta commented Dec 14, 2017

Awesome thanks!

@dtamayo thanks for the workaround.

Very helpful. Would you please explain why we need steps 9-12?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment