At times, while trying to profile an already running process with pmcstat (-t <pid>), output file contains no samples. Looking at the hwpmc debug logs it seems like in this scenario pmc start is delayed until a target process context switch occurs or doesn't happen at all.
pmc_start() relies on a forced context switch to set the pmc hardware state in case the pmc is attached to its owner process. But in case pmc is not attached to its owner process (i.e when profiling another target process), pmc_start returns without setting the pmc hardware state.