169 похожих чатов

Всем привет. Кто-то работает с R на маке, конкретно на их

армовских процах?
Мне тут пакет из CRAN снести хотят из-за ошибки на M1. Причём ошибка не в моём пакете, а в iconv, который вызывается во время теста.
Куда ему там 4 гига аллоцировать понадобилось ума не приложу.
Ссылка на результаты тестирования в CRAN: https://www.stats.ox.ac.uk/pub/bdr/M1mac/uchardet.out
Ссылка на исходный код проекта: https://gitlab.com/artemklevtsov/uchardet

Код:
install.packages("uchardet")
file_path <- system.file("examples", "ko.txt", package = "uchardet")
x <- readChar(file_path, file.size(file_path))
iconv(x, "utf8", "iso-2022-kr")

13 ответов

35 просмотров

я сталкивался с таким, и просто выключал проверку примеров на CRAN

Артём-Клевцов Автор вопроса

А твой пакет вслед за моим снесут...

Артём Клевцов
А твой пакет вслед за моим снесут...

тот мой пакет не единственный пакет, что я написал

Артем, M1 под руками нет. Рвет только на строчке `iconv(ko_utf8`? самого файла для чтения не нашел в репозитории. может тест временно приглушить до разбора? Может кто на маке может попробовать запустить тесты? Тут ведь многие про наличие M1 говорили…

Артём-Клевцов Автор вопроса
Ilya Shutov
Артем, M1 под руками нет. Рвет только на строчке `...

Файл вот этот. https://gitlab.com/artemklevtsov/uchardet/-/blob/devel/inst/examples/ko.txt?ref_type=heads > system.file("examples", "ko.txt", package = "uchardet") [1] "/home/***/R/x86_64-pc-linux-gnu-library/4.3/uchardet/examples/ko.txt"

Артём Клевцов
Файл вот этот. https://gitlab.com/artemklevtsov/uc...

просто бесконечная вариативность ОС, версий пакетов и косяков заставляют сидеть на гитхабе добрую часть времени и читать код. иногда дешевле и проще вбить воркараунд и двинуться дальше, чем долбить головой стену. а попозже разобраться.

Да, ошибка воспроизводится: > file_path <- system.file("examples", "ko.txt", package = "uchardet") > x <- readChar(file_path, file.size(file_path)) > iconv(x, "utf8", "iso-2022-kr") Ошибка в iconv(x, "utf8", "iso-2022-kr") : could not allocate memory (4095 Mb) in C function 'R_AllocStringBuffer' К сожалению не занимался никогда дебагом в R, но, если подскажете что сделать, попробую.

Артём-Клевцов Автор вопроса
Александр
Да, ошибка воспроизводится: > file_path <- system...

Спасибо за участие. Ещё попробуй, пожалуйста, выполнить команду в баш терминале (не R): iconv -f UTF-8 -t ISO-2022-KR $(Rscript -e 'cat(system.file("examples", "ko.txt", package = "uchardet"))') Надо понять, где именно проблема: в реализации iconv под арм или в R.

Артём Клевцов
Спасибо за участие. Ещё попробуй, пожалуйста, выпо...

Ну вот как я и написал выше: штатный виснет, сторонний iconv — работает: ~/miniforge3/envs/py311/bin/iconv -f UTF-8 -t ISO-2022-KR $(Rscript -e 'cat(system.file("examples", "ko.txt", package = "uchardet"))') )C3*4B @/8.8& 8T@; <v @V>n?d. 1W7!55 >FGAAv >J>F?d

Артём-Клевцов Автор вопроса
Александр
Ну вот как я и написал выше: штатный виснет, сторо...

Да да, я пока своё сообщение писал, не обратил внимание, что ты уже сделал то, что я хотел попросить.

Артём Клевцов
Спасибо за участие. Ещё попробуй, пожалуйста, выпо...

Похоже современные macOS препятствуют дебагу системных приложений. Как я ни пытался прицепить lldb к зависшему iconv — бесполезно. "System binaries are always codesigned by Apple and generally don't have that entitlement, and so can't be debugged. If you really need to debug a system binary you have to turn off SIP." как тут пишут: https://stackoverflow.com/questions/76747436/m2-macos-13-4-1-use-lldb-debug-c-program-terminated-by-signal-5 по сходной проблеме. Так что даже копнуть iconv не вышло...

Артём-Клевцов Автор вопроса
Александр
Похоже современные macOS препятствуют дебагу сист...

Вполне предсказуемо: закрытая экосистема. Под предлогом обеспечения безопасности системы ограничили любую несанкционированную активность. Вроде реализацию unzip в R можно стороннюю указать, а вот iconv вряд ли.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта