Notice: file_put_contents(): Write of 4805 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 12288 of 17093 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
Алло, это отладочная?@gdb_dbg P.138
GDB_DBG Telegram 138
Налоги - это вообще неприятно, но здесь это буквально вставляет нам палки в колеса. Так уж вышло, что мы рисуем для треда не один стек, а два (стоящих в памяти подряд). В некоторых ситуациях мы экстренно переключаемся на второй (альтернативный) стек, чтобы на нем сделать кое-что важное, потом возвращаемся назад. Соответственно, у каждой из половинок стека есть guard page - защищенная на запись страница, в которую, если что, ударится исполнение, когда стек переполнится.

+------+---------------+-----+----------------------+
|||| Alt stack ||||| Real stack |
+------+---------------+-----+----------------------+
^ ^
Guard #2 <= grows Guard #1 <= grows


И финальный кусочек пазла: как вы помните, в пользовательском сценарии наша VM вызывается (инициализируется) из C кода. Т.е. размер static TLS зависит совсем не от нас, а от того, насколько много писатель сишного кода памяти потратил на __thread переменные. И в зависимости от этого размера начинаются спецэффекты:

1) Если размер больше половины размера нашего стека => мы ткнем в нашу защищенную страницу в серединке стека => SIGSEGV,
2) Если размер TLS больше, чем запрашиваемый размер стека => pthread_create просто обломится,
3) Если размер TLS меньше, чем половина стека => ну, TLS просто сожрет часть основного стека, т.е. SOE случится куда быстрее, чем пользователь мог бы подумать.

Чудесно! ↓
👾51



tgoop.com/gdb_dbg/138
Create:
Last Update:

Налоги - это вообще неприятно, но здесь это буквально вставляет нам палки в колеса. Так уж вышло, что мы рисуем для треда не один стек, а два (стоящих в памяти подряд). В некоторых ситуациях мы экстренно переключаемся на второй (альтернативный) стек, чтобы на нем сделать кое-что важное, потом возвращаемся назад. Соответственно, у каждой из половинок стека есть guard page - защищенная на запись страница, в которую, если что, ударится исполнение, когда стек переполнится.

+------+---------------+-----+----------------------+
|||| Alt stack ||||| Real stack |
+------+---------------+-----+----------------------+
^ ^
Guard #2 <= grows Guard #1 <= grows


И финальный кусочек пазла: как вы помните, в пользовательском сценарии наша VM вызывается (инициализируется) из C кода. Т.е. размер static TLS зависит совсем не от нас, а от того, насколько много писатель сишного кода памяти потратил на __thread переменные. И в зависимости от этого размера начинаются спецэффекты:

1) Если размер больше половины размера нашего стека => мы ткнем в нашу защищенную страницу в серединке стека => SIGSEGV,
2) Если размер TLS больше, чем запрашиваемый размер стека => pthread_create просто обломится,
3) Если размер TLS меньше, чем половина стека => ну, TLS просто сожрет часть основного стека, т.е. SOE случится куда быстрее, чем пользователь мог бы подумать.

Чудесно! ↓

BY Алло, это отладочная?


Share with your friend now:
tgoop.com/gdb_dbg/138

View MORE
Open in Telegram


Telegram News

Date: |

Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.” For crypto enthusiasts, there was the “gm” app, a self-described “meme app” which only allowed users to greet each other with “gm,” or “good morning,” a common acronym thrown around on Crypto Twitter and Discord. But the gm app was shut down back in September after a hacker reportedly gained access to user data. Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots.
from us


Telegram Алло, это отладочная?
FROM American