Первое упоминание о нем было на Open Radar первого Февраля этого года неким @shess при попытке ввода File:/// в Text Edit (я смог воспроизвести баг разными подходами в Text Edit). Предположения были выдвинуты что это происходит изза проверки на орфографии встроенной в OS (Data detectors) для автоматического распознования даты, места и контактных данных, но не подтверженна пока что оффициально. Кому интересно, прошу под кат.
Строим предположения
Немного о том что говорят другие об этом на Hacker News.
Nelson Minar на HackerNews сообщил что даже сам error reporter встроенный в Mac падает изза этого бага. Этот пользователь смог поймать следущию ошибку при сложении программы.
*** Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘condition “wrong extraction: File:///”‘
terminate called throwing an exception
abort() called
Nik Cubrilovic прокомментировал что checkDataDetectors пытается извлечь ‘File://a/’ – или любой другой URL к файлу (file://) по пути ‘/’ – как корректный дата URL и передает его DDResultCopyExtractURL, который делает еще одну проверку на состояние. Там делается предположение что файл начинается с file://, хотя это не так что приводит к непойманному
NSInternalInconsistencyException который и складывает аппликацию. Заддержку мы видим перед тем как программа упадет происходит изза того что NSSpellCheckerCheckString делает проверку текста только после того как прошло какое то время с последнего нажатия кнопки (по английски можно прочесть вот тут).
@zbowling сообщил что скорее всего это изза NSTextFields и только аппликации которые его имеют могут слечь (как пример он привел Sublime Text который выжил (мне удалось Sublime сложить)).
Помощь другу
Можно отключить автоматическую проверку пройдя по следующему пути:
System Preferences -> Language & Text -> Text и убрать галочку рядом с Автоматической проверкой орфографии (Correct spelling automatically) и Use symbol and text substitution (это свободный перевод, у меня английская версия стоит, так что не обещаю правильность названий).
Поиграем сами
Мне стало интересно а что же можно сложить из того что у меня имеется. И так при запуске функции Search (Поиска) в следующих аппликациях, они складываются:
Закрылись
- Finder
- Safari
- Chrome
- Preview
- Stickies
- Spotlight
- Skype
- Microsoft Word
- Microsoft Excel
- TextEdit (rtf, txt & document tested only)
- Calendar
- iTunes
- Contacts
- Messages
- Eclipse
- Keynote
- Pages
- Xcode (ну ты да не слег бы)
- Photoshop
- VLC
- Vuze
- Cyberduck
- GameCenter
- Alfred
- Line
- AppStore
- Sublime Text 2
Предпологаю что Movies, Garagе Band и весь iLife отправится в этот же список.
Не закрылись
- Firefox
- TextWrangler
- PhpStorm
- Steam Client
- Github Client
- Calibre
- Wireshark
Не многие выстояли этот бой. При попытки создания директории в терминале mkdir File:/// была создана просто папка с названием File/. Использую vi и nano в терминале вписал внутри «File:///» и сохранял (назвал «blank») под любым названием без extension-а. При попытке открыть файл через TextEdit аппликация вылетала. Если расширение было .txt (создал тоже через терминал echo «File:///» > blank.txt или blank — так же улетала).
При вводе File:/// в Sublime Text 2 внутри ничего не произошло, и так же при попытке внутренней функции «Find». Но когда попробовал сделать File -> Open -> и в Spotlight Search забил «File:///» конфетка смерти покрутилась секунды три (все остальные сразу ложились) и Sublime упал.
При вводе в Firefox, аппликация переводила текст в lowercase и давала мое главное дерево "/" (картинка ниже).
Порадовал Wireshark, выдал следующую ошибку (картинка ниже).
Этог
Все остальные выше приведенные программы никак не отреагировали (если у кого получиться сложить что еще или эти, дайте знать). Так что теперь будем ждать новостей от Apple.
ссылка на оригинал статьи http://habrahabr.ru/post/168301/
Добавить комментарий