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

Всем привет. У меня тут какое-то странное поведение в 32

битной сборке версии под Windows (которые приводят к падениям по ассерту в релиз версии у пользователей, сам я не могу такое воспроизвести). Я поймал в логе это неадекватное поведение:

https://github.com/telegramdesktop/tdesktop/commit/868015da251e15fc141c31a8235c4c2207961c53#diff-9df39ac4d87e709081853fbbb14803cd3adc4dfbae66e8f16affe210bd2ad41eR851-R858

Выдаёт (options.speed тут double, crl::time тут std::int64_t):

track_time_adjusted,world:198922,adjust:278,speed:1,delta:278,rounded:278,casted:-9223372036854775808,final:-9223372036854775808

То есть C-style каст 278. в std::int64_t в какой-то момент даёт int64_min. При этом в логе до этого идут десяток таких же, но нормальных:

track_time_adjusted,world:198706,adjust:69,speed:1,delta:69,rounded:69,casted:69,final:69

track_time_adjusted,world:198792,adjust:155,speed:1,delta:155,rounded:155,casted:155,final:155

и т.д., и таких валится очень много, на процессорах около 10 летней давности:

AuthenticAMD family 15 model 79 stepping 2, 1 CPU.
AuthenticAMD family 16 model 4 stepping 3, 4 CPUs.
AuthenticAMD family 16 model 6 stepping 3, 2 CPUs.
AuthenticAMD family 18 model 1 stepping 0, 3 CPUs.
GenuineIntel family 15 model 6 stepping 5, 2 CPUs.

Есть идея, в чём я не прав и что с этим можно сделать? 😕 Могла это VS2019 в какой-то момент обновиться и как-то иначе начать генерировать 32 битный код, и может можно какой-то свич повернуть, чтобы заработало нормально?..

6 ответов

22 просмотра

Единственная идея - 155 и 64 меньше, чем 255, а 278 больше, чем 255. Пробовали захардкодить adjust в 278 и options.speed в 1.0, и посмотреть под отладчиком, что получается?

у тебя доступ к этим железкам хоть какой-то есть?

John🤔-🤔 Автор вопроса
Alexander "SonnySlave" Zaitsev
у тебя доступ к этим железкам хоть какой-то есть?

Увы, даже живого юзера нет на связи с ними, только крашрепорты сыпятся, когда уже собрал версию. Но видимо надо как-то получать такого. Или запихать туда проверок с вываливанием с ошибкой и забить :(

Падение по ассерту в релиз? Ну ок, а какой ассерт, что он то говорит?

John🤔-🤔 Автор вопроса
Alex
Единственная идея - 155 и 64 меньше, чем 255, а 27...

На моей машине там всё ок с таким значением, а в логах бывают и другие: stp.worldTime:460724;stp.trackTime:0;track_time_adjusted,world:460737,adjust:13,speed:1,delta:13,rounded:13,casted:13,final:13 stp.worldTime:460724;stp.trackTime:0;reading_frames,time:13 stp.worldTime:460724;stp.trackTime:0;reading_enough_frames,time:13 ... stp.worldTime:460724;stp.trackTime:0;track_time_adjusted,world:460764,adjust:40,speed:1,delta:40,rounded:40,casted:-9223372036854775808,final:-9223372036854775808 То есть у кого-то для 13. сработало, а потом для 40. не сработало.

Возможно, стоит посмотреть на генерируемый код и погуглить соответствующие инструкции и их поведение на конкретных процессорах, может там есть особенности поведения (или баги)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта