powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Непонятные "пустые" потоки в Windows
5 сообщений из 5, страница 1 из 1
Непонятные "пустые" потоки в Windows
    #40004669
Quartz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго!
Разбирая крэш-дамп, наткнулся на странные потоки-пустышки.
Это весь стек:

Код: plaintext
1.
2.
0:045> kv
 # Child-SP          RetAddr           : Args to Child                                                           : Call Site
00 00000000`5251ffd8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart

Болтаются прямо на входе в RtlUserThreadStart:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
0:045> r
rax=0000000000000000 rbx=0000000000000000 rcx=00007ff8ff292750
rdx=0000000036ec68d0 rsi=0000000000000000 rdi=0000000000000000
rip=00007ff925fcce30 rsp=000000005251ffd8 rbp=0000000000000000
 r8=0000000000000000  r9=0000000000000000 r10=0000000000000000
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na pe nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000200
ntdll!RtlUserThreadStart:
00007ff9`25fcce30 4883ec78        sub     rsp,78h

0:067> !address 00007ff8ff292750
...
Unloaded modules that overlapped the address in the past:
         Base Address       End Address              Size
        7ff8`ff280000     7ff8`ff2bc000        0`0003c000 WorkfoldersShell.dll
        7ff8`ff280000     7ff8`ff2bc000        0`0003c000 WorkfoldersShell.dll
...
И таких 13 штук набралось.
Приложение mixed (.NET & c++), Visual Studio 2019, Windows 10 Version 18362.

Что вообще происходит , shell extension заказал себе пачку потоков и самовыпилился?
...
Рейтинг: 0 / 0
Непонятные "пустые" потоки в Windows
    #40004672
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quartz,

А это не может быть просто пулом потоков которые ожидают выполнения по сигналу (event, mutex etc)?
В общем, стандартная практика когда нужно что-то быстро распараллелить - эффективнее создать заранее и потом "разбудить".
...
Рейтинг: 0 / 0
Непонятные "пустые" потоки в Windows
    #40004675
Quartz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

я пока не очень понимаю, как оно может ждать без WaitForЧегоТоТам...
Так-то пулов у нас в достатке: CLR, OpenMP, ConCRT. Вообще да, с этим что-то надо делать, потоки расплодились как кролики :).
...
Рейтинг: 0 / 0
Непонятные "пустые" потоки в Windows
    #40004678
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quartz
я пока не очень понимаю, как оно может ждать без WaitForЧегоТоТам...

Поток может быть создан приостановленным (CREATE_SUSPENDED) https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread
В этом случае ОС выполняет все ресурсоемкие операции по созданию потока, но не запускает его.
...
Рейтинг: 0 / 0
Непонятные "пустые" потоки в Windows
    #40004679
Quartz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

это называется "Одна голова хорошо, а три -- лучше" :)
Спасибо за версию, очень похоже что так и есть.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Непонятные "пустые" потоки в Windows
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]