Skip to content

Crash on multiple successive presses of the hotkey button for dictation #856

Description

@zoltanf

Platform

macOS

Description

TypeWhisper crashes when the dictation hotkey is pressed and released several times in quick succession.

  • TypeWhisper 1.5.1 (build 928)
  • macOS 26.5.2 (25F84)
  • Apple M1 Pro (MacBookPro18,3)
  • Plugins loaded: Parakeet 1.3.0, FillerWords 1.0.0

Steps to Reproduce

  1. Press and release the dictation hotkey several times rapidly (fast tap-tap-tap).
  2. The app crashes intermittently.

Expected Behavior

Should not crash

OS Version

macOS 26.5.2

TypeWhisper Version

1.5.1 (build 928)

Diagnostics / Logs

From macOS crash report - 
The faulting thread is `com.apple.audio.IOThread.client` (the real-time input callback). The crash chain:

Thread 21 Crashed:: com.apple.audio.IOThread.client
0  AVFAudio     -[AVAudioPCMBuffer initWithPCMFormat:frameCapacity:] + 64
1  TypeWhisper  specialized coreAudioHALInputRenderCallback(inRefCon:ioActionFlags:inTimeStamp:inBusNumber:inNumberFrames:ioData:) + 80
2  CoreAudio    HALC_ProxyIOContext::IOWorkLoop() + 9596

Exception: `EXC_BAD_ACCESS (SIGSEGV)`, `KERN_INVALID_ADDRESS at 0x0`.


diagnostic json:
{
  "api" : {
    "enabled" : false,
    "loopbackOnly" : true,
    "port" : 8978,
    "remoteAccessAllowed" : false,
    "running" : false
  },
  "app" : {
    "build" : "928",
    "bundleIdentifier" : "com.typewhisper.mac",
    "bundlePathKind" : "systemApplications",
    "isDevelopment" : false,
    "launchTimestamp" : "2026-07-09T19:05:04Z",
    "uptimeSeconds" : 5997.153609037399,
    "version" : "1.5.1"
  },
  "audio" : {
    "audioDuckingEnabled" : false,
    "audioDuckingLevel" : 0.2,
    "defaultOutput" : {
      "deviceID" : 139,
      "name" : "WH-1000XM3",
      "transportType" : "bluetooth",
      "uid" : "38-18-4C-06-75-16:output",
      "volume" : 0.4375
    },
    "inputDiagnostics" : {
      "defaultInputDeviceID" : 145,
      "devices" : [
        {
          "compatibility" : "unknown",
          "deviceID" : 79,
          "inputChannels" : 1,
          "inputOnlyCaptureFormat" : "48000.0 Hz\/1 ch\/pcmFloat32\/interleaved=false",
          "isAggregate" : false,
          "isAggregateOrVirtual" : false,
          "isDefaultInput" : false,
          "isSelected" : true,
          "isVirtual" : false,
          "listedByTypeWhisper" : true,
          "name" : "MacBook Pro Microphone",
          "nominalSampleRate" : 48000,
          "outputChannels" : 0,
          "transportType" : 1651274862,
          "transportTypeFourCC" : "bltn",
          "transportTypeName" : "builtIn",
          "uid" : "BuiltInMicrophoneDevice"
        },
        {
          "compatibility" : "unknown",
          "deviceID" : 145,
          "inputChannels" : 1,
          "inputOnlyCaptureFormat" : "16000.0 Hz\/1 ch\/pcmFloat32\/interleaved=false",
          "isAggregate" : false,
          "isAggregateOrVirtual" : false,
          "isDefaultInput" : true,
          "isSelected" : false,
          "isVirtual" : false,
          "listedByTypeWhisper" : true,
          "name" : "WH-1000XM3",
          "nominalSampleRate" : 16000,
          "outputChannels" : 0,
          "transportType" : 1651275109,
          "transportTypeFourCC" : "blue",
          "transportTypeName" : "bluetooth",
          "uid" : "38-18-4C-06-75-16:input"
        }
      ],
      "previewActive" : false,
      "previewAudioLevel" : 0,
      "previewRawLevel" : 0,
      "selectedInputDeviceID" : 79,
      "selectedInputDeviceName" : "MacBook Pro Microphone",
      "selectedInputDeviceUID" : "BuiltInMicrophoneDevice",
      "selectedInputUsesBluetoothTransport" : false
    },
    "mediaPauseEnabled" : false,
    "selectedInputDeviceName" : "MacBook Pro Microphone",
    "selectedInputDeviceUID" : "BuiltInMicrophoneDevice"
  },
  "counts" : {
    "dictionaryCorrections" : 5,
    "dictionaryTerms" : 0,
    "enabledProfiles" : 0,
    "enabledSnippets" : 0,
    "errorEntries" : 0,
    "historyRecords" : 476,
    "profiles" : 0,
    "snippets" : 0
  },
  "errors" : [

  ],
  "exportedAt" : "2026-07-09T20:45:01Z",
  "memoryExtraction" : {
    "inFlight" : false,
    "skippedWhileBusy" : 0,
    "totalCompleted" : 0,
    "totalFailed" : 0,
    "totalStarted" : 0
  },
  "model" : {
    "allowsTranscriptPreviewFallback" : true,
    "isModelReady" : true,
    "selectedModelId" : "parakeet-tdt-0.6b-v3",
    "selectedProviderId" : "parakeet",
    "supportsLiveTranscriptionSession" : false,
    "supportsStreaming" : true,
    "supportsTranslation" : false
  },
  "modelAutoUnload" : {
    "entries" : [
      {
        "dueAt" : "2026-07-09T20:53:15Z",
        "pluginClassName" : "ParakeetPlugin",
        "pluginObjectIdentifier" : "ObjectIdentifier(0x0000000101eabc30)",
        "policySeconds" : 600,
        "scheduledAt" : "2026-07-09T20:43:15Z"
      }
    ],
    "policyName" : "afterSeconds",
    "policySeconds" : 600
  },
  "permissions" : {
    "accessibilityGranted" : true,
    "microphoneGranted" : true
  },
  "plugins" : [
    {
      "bundled" : false,
      "enabled" : true,
      "id" : "com.typewhisper.filler-words",
      "name" : "Filler Words",
      "registrySource" : "official",
      "registryVersion" : "1.0.0",
      "runtimeLoaded" : true,
      "source" : {
        "bundleIdentifier" : "com.typewhisper.filler-words",
        "bundleShortVersion" : "1.0.0",
        "bundleVersion" : "1",
        "executableSHA256" : "a5a5efd6bfc5f9ec800b2cd9232946f2e9d02ee29897aff24ad891fa61eddcd3",
        "executableSizeBytes" : 334560,
        "pathHint" : "~\/Library\/Application Support\/TypeWhisper\/Plugins\/FillerWordsPlugin.bundle",
        "sourceKind" : "managedExternal"
      },
      "version" : "1.0.0"
    },
    {
      "allowsTranscriptPreviewFallback" : true,
      "bundled" : false,
      "enabled" : true,
      "id" : "com.typewhisper.parakeet",
      "isConfigured" : true,
      "name" : "Parakeet",
      "providerId" : "parakeet",
      "registrySource" : "official",
      "registryVersion" : "1.3.0",
      "runtimeLoaded" : true,
      "selectedModelId" : "parakeet-tdt-0.6b-v3",
      "source" : {
        "bundleIdentifier" : "com.typewhisper.parakeet",
        "bundleShortVersion" : "1.3.0",
        "bundleVersion" : "1",
        "executableSHA256" : "245609abaedb0c8d26dd158c5b204cd9ca6dab4ed28d361e0c776906d314b718",
        "executableSizeBytes" : 11990096,
        "pathHint" : "~\/Library\/Application Support\/TypeWhisper\/Plugins\/ParakeetPlugin.bundle",
        "sourceKind" : "managedExternal"
      },
      "storedLoadedModelId" : "parakeet-tdt-0.6b-v3",
      "storedSelectedModelId" : "parakeet-tdt-0.6b-v3",
      "storedSelectedVersion" : "v3",
      "supportsLiveTranscriptionSession" : false,
      "supportsStreaming" : true,
      "version" : "1.3.0"
    },
    {
      "bundled" : true,
      "enabled" : false,
      "id" : "com.typewhisper.speechanalyzer",
      "name" : "Apple Speech",
      "registrySource" : "official",
      "registryVersion" : "1.0.14",
      "runtimeLoaded" : false,
      "source" : {
        "bundleIdentifier" : "com.typewhisper.speechanalyzer",
        "bundleShortVersion" : "1.5.1",
        "bundleVersion" : "928",
        "executableSHA256" : "3743eaf8fc00602f6551a4da540ac2d2f8dd6ff2ccec59f49ea20f07b73c65a5",
        "executableSizeBytes" : 845552,
        "pathHint" : "\/Applications\/TypeWhisper.app\/Contents\/PlugIns\/SpeechAnalyzerPlugin.bundle",
        "sourceKind" : "bundled"
      },
      "storedLoadedModelId" : "speechanalyzer-en_US",
      "version" : "1.0.9"
    }
  ],
  "processMemory" : {
    "physicalFootprintBytes" : 157402240,
    "residentSizeBytes" : 212385792
  },
  "schemaVersion" : 7,
  "settings" : {
    "appFormattingEnabled" : false,
    "bundledReleaseChannel" : "stable",
    "dockIconBehaviorWhenMenuBarHidden" : "keepVisible",
    "externalStreamingDisplayCount" : 0,
    "historyRetentionDays" : 0,
    "indicatorStyle" : "notch",
    "indicatorSupportsTranscriptPreview" : true,
    "indicatorTranscriptPreviewAvailable" : true,
    "indicatorTranscriptPreviewEnabled" : true,
    "indicatorTranscriptPreviewFontSizeOffset" : 2,
    "memoryCaptureScope" : "allDictations",
    "memoryEnabled" : false,
    "modelAutoUnloadPolicy" : "afterSeconds",
    "modelAutoUnloadSeconds" : 600,
    "notchIndicatorDisplay" : "activeScreen",
    "notchIndicatorVisibility" : "duringActivity",
    "overlayPosition" : "top",
    "saveAudioWithHistory" : false,
    "selectedLanguage" : "en",
    "selectedUpdateChannel" : "stable",
    "setupWizardCompleted" : true,
    "showMenuBarIcon" : true,
    "soundFeedbackEnabled" : true,
    "spokenFeedbackEnabled" : false,
    "translationEnabled" : false,
    "watchFolderAutoStart" : false
  },
  "skippedExternalBundles" : [

  ],
  "system" : {
    "cpuArchitecture" : "arm64",
    "localeIdentifier" : "en_US@rg=gbzzzz",
    "macOSVersion" : "Version 26.5.2 (Build 25F84)",
    "timeZoneIdentifier" : "Europe\/Vienna"
  },
  "workflows" : {
    "defaultLLMProviderId" : "appleIntelligence",
    "enabledCount" : 0,
    "enabledWorkflows" : [

    ],
    "totalCount" : 0
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions