blampe / blampe/taskwarrior-reminders

Crashes with NSInternalInconsistencyException ?

Open
#12 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
97
Forks
9
PR merge metrics
No merged PRs in 30d

Description

Hi there,

I am working with a slightly modified `taskwarrior-reminders` version corresponding to this commit / PR: https://github.com/blampe/taskwarrior-reminders/pull/11

This is all on an Arm64 M1 MBP running macOS Ventura 13.3 . Taskwarrior was installed via Macports and was at `v2.6.2_0`

`taskwarrior-reminders` was compiled with `make install` and then unhooked from launchd using `make uninstall` . Then I ran it directly from the command line:

```
./task-reminders-sync --all
[Taskwarrior] sync
[task-reminders-sync] We're off to the races!
[Taskwarrior] modified.after:19700101T000000Z export
```

Past this stdout, it didn't do anything until I added a task to my Apple Reminders tasks. Then it produced a lot of output, syncing about ~60 items successfully, and then crashed with this error:

```
[Reminders ▶ Taskwarrior] Throw out Trash
[Taskwarrior] sync
[Taskwarrior] reminderID:CF2D6A7C-D174-5C35-9564-45A2D2B9BAC0 export
2023-04-04 12:17:14.143 task-reminders-sync[67654:1031576] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Failed to set posix_spawn_file_actions for fd -1 at index 2 with errno 9'
*** First throw call stack:
(
0 CoreFoundation 0x000000018c58b19c __exceptionPreprocess + 176
1 libobjc.A.dylib 0x000000018c0aa4d4 objc_exception_throw + 60
2 Foundation 0x000000018d4f6324 -[NSConcreteTask launchWithDictionary:error:] + 4180
3 task-reminders-sync 0x00000001008cf040 $s12Repositories21TaskwarriorRepositoryC04execB033_34B1B378C6FD518C2F80C60344E1C084LL4args5input10Foundation4DataVSgSaySSG_6Models4TaskCSgtFTf4nnd_n + 1672
4 task-reminders-sync 0x00000001008c8700 $s12Repositories21TaskwarriorRepositoryC08upsertToB0y6Models10SyncResultVAE4TaskCF + 244
5 task-reminders-sync 0x00000001008e7e90 $s4Sync17RemindersObserverC12storeChanged12notificationy10Foundation12NotificationV_tFySo10EKReminderCXEfU_yyScMYccfU_ + 364
6 task-reminders-sync 0x00000001008e7ed4 $sIeg_IeyB_TR + 28
7 libdispatch.dylib 0x000000018c282874 _dispatch_call_block_and_release + 32
8 libdispatch.dylib 0x000000018c284400 _dispatch_client_callout + 20
9 libdispatch.dylib 0x000000018c292bf8 _dispatch_main_queue_drain + 928
10 libdispatch.dylib 0x000000018c292848 _dispatch_main_queue_callback_4CF + 44
11 CoreFoundation 0x000000018c553c88 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
12 CoreFoundation 0x000000018c5114a8 __CFRunLoopRun + 1992
13 CoreFoundation 0x000000018c51058c CFRunLoopRunSpecific + 612
14 Foundation 0x000000018d4890bc -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
15 Foundation 0x000000018d501dbc -[NSRunLoop(NSRunLoop) run] + 64
16 task-reminders-sync 0x00000001008e5f28 main + 120
17 dyld 0x000000018c0dbf28 start + 2236
)
libc++abi: terminating due to uncaught exception of type NSException
zsh: abort ./task-reminders-sync --all
```

Any ideas? My first time working with Swift. `abi` in the error plus the presumption might mean that `amd64` vs `arm64` complications might be at play?

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the crash with `./task-reminders-sync --all` on the reported macOS and Swift setup, then start from `TaskwarriorRepository.exec` in the stack trace and follow its call from `upsertToTaskwarrior` and `RemindersObserver.storeChanged`. Done means identifying the cause of the NSInternalInconsistencyException, preventing the abort, and verifying that the reported reminder synchronization completes.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.