[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iptraf-ng падает с ошибкой сключение в операции с плавающей точкой



yuri.nefedov@gmail.com wrote:
> [-- text/plain, кодировка 8bit, кодировка: UTF-8, 20 строк --]

> On Mon, 5 Mar 2018, Gali Anikina wrote:

> >
> > После запуска в терминале программа просто тихо заканчивает работу и
> > появляется это
> > "исключение в операции с плавающей точкой"
> ...
> > Заглянула на страницу bug - мне там сложно разобраться- начиная с того, что
> > надо грамотно перевести на английский про операцию с плавающей точкой :-)))
> >

>   "исключение в операции с плавающей точкой" оно же
>   "Floating point exception" - это просто название сигнала SIGFPE.
>   На всякий случай, обычно ситуация никакого отношения
>   к floating point  не имеет (в стандарте IEE754 оговариваются
>   свои сигналы).  Исторически сложившиеся неудачное название.
Исторически, это исключение вызванное попыткой чтой-тотам поделить при
отсутствии FPU. И не исторически - во всяких MIPS/ARM и прочих ядерный 
обработчик SIGFPE может или вызвать дальше signal и отправить сигнал в
программу (пусть сама там разбирается) или задействовать програмный эмулятор
отсутсвующего FPU (если собран в ядро).

>   По смыслу иногда переводят как ??ошибочная арифметическая
>   операция??. Скорее всего целое деление на ноль.

Это вы батенька, путаете теплое с мягким. Деление на ноль с помошью FPU - обычная
такая опреация, правда в результате которой возникает NaN.
А вот деление на 0 с помошью ALU - таки да, дергает "Divide Error" вектор.
То, что их в glibc аккуратненько слепили в одну кучу - это проблемы в
головах авторов glibc, т.к. подходы к обработке этих ошибок - принципиально
разные.


Reply to: