Skip to content

v0.2.3 - Critical Crash Fix

Latest

Choose a tag to compare

@adbutler007 adbutler007 released this 19 Nov 16:16
· 1 commit to experiment/parakeet-transcription since this release

🚨 Critical Bug Fixes

This release fixes a segmentation fault crash that occurred when opening the app menu.

Fixed Issues

  • πŸ› Fixed heap corruption in audio device enumeration - CoreAudio buffer allocation was too small, causing memory corruption
  • 🧡 Fixed main thread blocking - Device enumeration now happens in background thread
  • πŸ’₯ Fixed random crashes when opening the status bar menu
  • ⚑ Improved menu responsiveness - Devices are cached and updated asynchronously

Technical Details

The crash was caused by AudioObjectGetPropertyData writing beyond allocated memory when querying audio devices with multiple channels. This corrupted adjacent heap objects, leading to EXC_BAD_ACCESS (SIGSEGV) crashes in objc_retain.

Changes:

  • Allocate correct buffer size for AudioBufferList based on actual data size
  • Use UnsafeRawPointer with proper byte alignment
  • Move MicrophoneCaptureManager.getInputDevices() to background thread
  • Wrap AudioInputDevice struct in AudioDeviceWrapper class for safe Objective-C bridging

Previous Features (from v0.2.2)

  • ✨ Custom app icon
  • πŸ”§ 5-minute timeout for long recording sessions
  • πŸ“ Status feedback during summary generation
  • 🎯 Bundled Python engine with auto-start
  • βœ… Fully notarized

Installation

Clean install recommended

brew uninstall --zap audio-summary
brew install --cask adbutler007/private-notes/audio-summary### Requirements

  • macOS 13.0+ (Ventura or later)
  • Apple Silicon (M1/M2/M3/M4)
  • ~4GB disk space

If you experienced crashes with v0.2.2, please upgrade immediately!