NSInternalInconsistencyException: Cancel Potential Unregister Timer not set

This issue happens in my app and I don't know why, I cannot get even useful info from stack. it's all about AppKit and HIToolBox or CoreFoundation.

I initially suspect it might be related to NSTimer. However I think this wouldn't cause such a crash. I am currently out of ideas and unable to provide more detailed and effective information (if I could, that would be great, and I also hope to have it).

I search Apple Doc and it tell me NSInternalInconsistencyException occurs when an internal assertion fails and implies an unexpected condition within the called code. So I want to get some clues from you why I encounter such an issue.

@interface MyApp () {
  scoped_refptr<base::SequencedTaskRunner> task_runner_;
}

@implementation MyApp
//...
- (void)start {
// ...
self.timer = [NSTimer
    scheduledTimerWithTimeInterval:60  // call every 60 sec
                            target:self
                           selector:@selector(logAndKill:)
                          userInfo:info
                           repeats:YES];
- (void)logAndKill {
if (needLog) {
  // ...
} else {
  task_runner_->PostTask(FROM_HERE, base::BindOnce(^() {
                               [self.timer invalidate];
                               self.timer = nil;
                             })); 
NSInternalInconsistencyException: Cancel Potential Unregister Timer not set
 
 
Q