|
0 / 0 / 0
Регистрация: 28.02.2023
Сообщений: 26
|
||||||
Неконсистентное состояние unordered_map после удаления последнего элемента22.03.2023, 01:05. Показов 1756. Ответов 10
Добрый вечер! Есть вот такой код:
Кликните здесь для просмотра всего текста
Вывод когда вызываю forced_leave на последний элемент хэш мапы: 0 0 1 *мусор* 0 //? Дальнейшее использование мапы абсолютно не приносит пользы, вылетает ошибка segmentation fault. Никак не могу понять почему так происходит.
0
|
||||||
| 22.03.2023, 01:05 | |
|
Ответы с готовыми решениями:
10
Функции вставки элемента и удаления последнего элемента из односвязного списка
Удаления из списка последнего элемента путем рекурсии |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 22.03.2023, 09:29 | |
|
А почему мьютекс используется не для всех функций map?
0
|
|
|
0 / 0 / 0
Регистрация: 28.02.2023
Сообщений: 26
|
|
| 22.03.2023, 10:56 [ТС] | |
|
nmcf, вызовы empty были добавлены для целей отладки и вызываются из 1 потока (гонки быть не может).
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 22.03.2023, 11:33 | |
|
Если ты используешь многопоточность, то вероятно, что дело в совместном доступе.
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 22.03.2023, 12:27 | ||
|
Добавлено через 4 минуты И еще настораживает, что потенциально многопоточный доступ делается к открытому полю activeMembers_. Это ж означает, что любой код может его использовать в обход контракта. А код тут не весь, значит предполагать можно что угодно.
0
|
||
|
0 / 0 / 0
Регистрация: 28.02.2023
Сообщений: 26
|
|
| 22.03.2023, 12:32 [ТС] | |
|
nmcf, вроде разобрался, все пользователи хранятся в одной структуре данных, и получается что при вызове leave_member я удаляю вызывающую сторону(this), и дальнейшее использование this по всей видимости приводит к UB.
Добавлено через 4 минуты DrOffset, отлаживаю код только 1 клиентом -> гонки быть не может. activeMembers_ сделал открытым чтобы можно было вызывать его методы из forced_leave .
0
|
|
| 22.03.2023, 12:43 | |||
|
Не по теме:
Ну да ладно, разобрались, так разобрались. Шансов только у нас по этому кусочку кода понять не было, в чем на самом деле проблема, надеюсь вы это понимаете.
0
|
|||
| 22.03.2023, 13:18 [ТС] | |
|
Не по теме:
0
|
|
|
33 / 25 / 8
Регистрация: 18.12.2022
Сообщений: 83
|
|
| 22.03.2023, 13:33 | |
|
Можно дать задачу и что собственно делаем? Это гораздо проще, чем искать ошибки в чужом коде...
0
|
|
| 22.03.2023, 20:20 [ТС] | |||
|
Не по теме:
0
|
|||
| 22.03.2023, 20:51 | ||
|
Не по теме:
Единственная причина, по которой я могу отказаться помогать - это нехватка времени на экспертизу. Все-таки я бесплатно здесь. И это не только у меня. Поэтому кидайте код, кидайте. Если есть возможность сделать минимизированный пример и снабдить его комментариями по поводу того, что нужно сделать, то повысите шансы на помощь. Но вообще без кода помощи (адекватной, без профанации, гадания, нравоучений или выдумывания задачи за вас) можно и не дождаться.
0
|
||
| 22.03.2023, 20:51 | |
|
Помогаю со студенческими работами здесь
11
Стек, операция удаления последнего (верхнего) элемента стека Некорректно работает процедура удаления последнего элемента из стека. Как можно идентификаторы, после удаления какой-то строки по середине, вернуть в состояние от 1 до n Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|