DTSendSignalFlag() does not work for non-administrator users

Originator:google.j
Number:rdar://15561526 Date Originated:2013-11-30
Status:Open Resolved:
Product:Developer Tools Product Version:
Classification:UI/Usability Reproducible:Always
 
Summary:
In general, developer tools work well in non-administrator accounts. However, one small exception is the DTSendSignalFlag() macro in DTPerformanceSession.framework, which has no effect for non-administrators.

Steps to Reproduce:
1. As a non-administrator user, run a the attached program “flagtest” under Instruments. (See attached flagtest.zip)
2. In Instruments, select “Manage Flags…” from the “Window” menu.

Expected Results:
The flag posted by the test program (“From: se.ayton.jens.test [point]”) should show up in the window

Actual Results:
The window is empty.

Version:
Xcode 5.0.2 (5A3005)
Mac OS X 10.9/13A603

Notes:
A simple fix for this is to insert asl_set(tracermsg,ASL_KEY_READ_UID,"-1"); at an appropriate point in the macro. Presumably calling getuid() and stringifying it would also work.

Configuration:

Comments

Test code

#import <Foundation/Foundation.h>
#import <DTPerformanceSession/DTSignalFlag.h>


int main(int argc, const char * argv[])
{
    @autoreleasepool {
        DTSendSignalFlag("se.ayton.jens.test", DT_POINT_SIGNAL, NO);

        // insert code here...
        NSLog(@"Hello, World!");
    }
    return 0;
}

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!