Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:UserstfcorDesktopCase1CrashDumpsGSI.exe.2204.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available
************* Symbol Path validation summary **************
Response Time (ms) Location
Deferred srv*C:Symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: srv*C:Symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 10 Version 14393 MP (4 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS Personal
Built by: 10.0.14393.0 (rs1_release.160715-1616)
Machine Name:
Debug session time: Fri Sep 2 15:09:27.000 2016 (UTC + 3:00)
System Uptime: not available
Process Uptime: 0 days 0:00:06.000
…………………………………………………….
Loading unloaded module list
.
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(89c.d8c): In-page I/O error ffffffffc0000242 — code c0000006 (first/second chance not available)
*** WARNING: Unable to verify timestamp for KERNELBASE.dll
*** ERROR: Module load completed but symbols could not be loaded for KERNELBASE.dll
eax=00000000 ebx=00000000 ecx=00c7eb48 edx=1b0112be esi=00000003 edi=00000003
eip=774ce1bc esp=00afd4b8 ebp=00afd648 iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
ntdll!NtWaitForMultipleObjects+0xc:
774ce1bc c21400 ret 14h
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** WARNING: Unable to verify checksum for System.Windows.Forms.ni.dll
*** ERROR: Module load completed but symbols could not be loaded for System.Windows.Forms.ni.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for clr.dll —
*** WARNING: Unable to verify timestamp for mscoreei.dll
*** ERROR: Module load completed but symbols could not be loaded for mscoreei.dll
*** WARNING: Unable to verify timestamp for mscoree.dll
*** ERROR: Module load completed but symbols could not be loaded for mscoree.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll —
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ole32.dll —
************* Symbol Loading Error Summary **************
Module name Error
ole32 The system cannot find the file specified : srv*c:symbols*http://msdl.microsoft.com/download/symbols
You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Unable to load image C:WindowsSystem32combase.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for combase.dll
*** ERROR: Module load completed but symbols could not be loaded for combase.dll
************* Symbol Loading Error Summary **************
Module name Error
combase A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols
You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Unable to load image C:WindowsassemblyNativeImages_v4.0.30319_32mscorlib40571abae9422cd2ca6fafbbde1c3cdcmscorlib.ni.dll, Win32 error 0n2
*** ERROR: Module load completed but symbols could not be loaded for mscorlib.ni.dll
************* Symbol Loading Error Summary **************
Module name Error
mscorlib.ni A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols
You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
*** WARNING: Unable to verify timestamp for GdiPlus.dll
*** ERROR: Module load completed but symbols could not be loaded for GdiPlus.dll
Unable to load image C:WindowsSystem32twinapi.appcore.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for twinapi.appcore.dll
*** ERROR: Module load completed but symbols could not be loaded for twinapi.appcore.dll
************* Symbol Loading Error Summary **************
Module name Error
twinapi.appcore A connection with the server could not be established : srv*c:symbols*http://msdl.microsoft.com/download/symbols
You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
GetUrlPageData2 (WinHttp) failed: 12007.
DUMP_CLASS: 2
DUMP_QUALIFIER: 400
CONTEXT: (.ecxr)
eax=00afe22c ebx=00c7eb48 ecx=00c7eb48 edx=1b0112be esi=00000000 edi=1b0112be
eip=6ded0764 esp=00afe200 ebp=00afe258 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246
comctl32_6ddf0000!Button_DrawTextAndGlyph:
6ded0764 ?? ???
Resetting default scope
FAULTING_IP:
comctl32_6ddf0000!Button_DrawTextAndGlyph+0
6ded0764 ?? ???
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 6ded0764 (comctl32_6ddf0000!Button_DrawTextAndGlyph)
ExceptionCode: c0000006 (In-page I/O error)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000008
Parameter[1]: 6ded0764
Parameter[2]: c0000242
Inpage operation failed at 6ded0764, due to I/O error c0000242
DEFAULT_BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS
PROCESS_NAME: GSI.exe
ERROR_CODE: (NTSTATUS) 0xc0000006 — <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xc0000006 — <Unable to get error code text>
EXCEPTION_CODE_STR: c0000006
EXCEPTION_PARAMETER1: 00000008
EXCEPTION_PARAMETER2: 6ded0764
EXCEPTION_PARAMETER3: c0000242
IO_ERROR: (NTSTATUS) 0xc0000242 — <Unable to get error code text>
ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER: from 00000000 to 00000000
WATSON_BKT_PROCSTAMP: 56d45f4f
WATSON_BKT_PROCVER: 6.1.0.51
WATSON_BKT_MODULE: comctl32.dll
WATSON_BKT_MODSTAMP: 57898e2d
WATSON_BKT_MODOFFSET: e0764
WATSON_BKT_MODVER: 6.10.14393.0
BUILD_VERSION_STRING: 10.0.14393.0 (rs1_release.160715-1616)
MODLIST_WITH_TSCHKSUM_HASH: 1190ba14ac8bfdbdc7bb18aa7f963a0df012b0fb
MODLIST_SHA1_HASH: 0fa21da89a763edf03da3ebe0effcd131904cc56
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
DUMP_FLAGS: 94
DUMP_TYPE: 1
APP: gsi.exe
MISSING_CLR_SYMBOL: 0
ANALYSIS_SESSION_HOST: ALEX-PC
ANALYSIS_SESSION_TIME: 09-02-2016 19:57:22.0087
ANALYSIS_VERSION: 10.0.10586.567 amd64fre
MANAGED_CODE: 1
MANAGED_ENGINE_MODULE: clr
MANAGED_BITNESS_MISMATCH:
Managed code needs matching platform for proper analysis. Use ‘x86’ debugger.
THREAD_ATTRIBUTES:
FAULTING_THREAD: ffffffff
THREAD_SHA1_HASH_MOD_FUNC: 105bb1fe8d5fa2aac754e116bcca7a91358e14a3
THREAD_SHA1_HASH_MOD_FUNC_OFFSET: d6166623ab2f82049e0fb29046b8624d46979834
OS_LOCALE: RUS
PROBLEM_CLASSES:
SOFTWARE_NX_FAULT
Tid [0xd8c]
Frame [0x00]: comctl32!Button_DrawTextAndGlyph
NOSOS
Tid [0xd8c]
Failure Bucketing
BUGCHECK_STR: SOFTWARE_NX_FAULT_NOSOS
STACK_TEXT:
00000000 00000000 hardware_disk!Unknown+0x0
THREAD_SHA1_HASH_MOD: 5587afe09fa730b6270ccd4de14528e196ba31e7
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: hardware_disk!Unknown
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: hardware_disk
DEBUG_FLR_IMAGE_TIMESTAMP: 0
STACK_COMMAND: ** Pseudo Context ** ; kb
BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS_hardware_disk!Unknown
PRIMARY_PROBLEM_CLASS: SOFTWARE_NX_FAULT_NOSOS_hardware_disk!Unknown
BUCKET_ID_OFFSET: 0
BUCKET_ID_MODULE_STR: hardware_disk
BUCKET_ID_MODTIMEDATESTAMP: 0
BUCKET_ID_MODCHECKSUM: 0
BUCKET_ID_MODVER_STR: 0.0.0.0
BUCKET_ID_PREFIX_STR: SOFTWARE_NX_FAULT_NOSOS_
FAILURE_PROBLEM_CLASS: SOFTWARE_NX_FAULT_NOSOS
FAILURE_EXCEPTION_CODE: c0000006
FAILURE_IMAGE_NAME:
FAILURE_FUNCTION_NAME:
FAILURE_SYMBOL_NAME: hardware_disk!Unknown
FAILURE_BUCKET_ID: SOFTWARE_NX_FAULT_NOSOS_c0000006_hardware_disk!Unknown
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOn…3.0/57898e2d/c0000006/000e0764.htm?Retriage=1
TARGET_TIME: 2016-09-02T12:09:27.000Z
OSBUILD: 14393
OSSERVICEPACK: 0
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK: 768
PRODUCT_TYPE: 1
OSPLATFORM_TYPE: x86
OSNAME: Windows 10
OSEDITION: Windows 10 WinNt SingleUserTS Personal
USER_LCID: 0
OSBUILD_TIMESTAMP: 2016-07-16 04:33:42
BUILDDATESTAMP_STR: 160715-1616
BUILDLAB_STR: rs1_release
BUILDOSVER_STR: 10.0.14393.0
ANALYSIS_SESSION_ELAPSED_TIME: 178e20
ANALYSIS_SOURCE: UM
FAILURE_ID_HASH_STRING: um:software_nx_fault_nosos_c0000006_hardware_disk!unknown
FAILURE_ID_HASH: {97d83bdb-ab34-63cd-695e-2191a09fa0a2}
Followup: MachineOwner
———
Я написал некоторую программу в Delphi и когда я запускаю ее с диска на ключ. В какой-то момент мне нужно отключить диск на клавиатуре во время работы приложения. Если я сделаю это на компьютере с по крайней мере 1 гб RAM, все будет в порядке. Когда я делаю это на машине с 512mb, я получаю внешнее исключение C0000006. Если я не ошибаюсь, это связано с тем, что ОС пытается прочитать следующую строку кода, но не может найти ресурс для нее (что означает, что приложение не было загружено в RAM), что является абсурдным, потому что это приложение 500 КБ.
Как я могу это решить? или, по крайней мере, справиться с этим исключением более элегантным способом? (Так как я не могу его поймать, поскольку это внешнее исключение).
О, и мое приложение Delphi представляет собой консольное приложение под Windows XP.
Ответ 1
Что вам нужно сделать, так это сказать, что Windows загружает всю вашу программу в память, а не позволяет ей требовать загрузки страниц, когда это необходимо. Я сделал это успешно для приложений, запущенных с компакт-диска. У меня нет кода со мной прямо сейчас, но я помню, что я нашел подсказки о том, как это сделать в источнике для фантастической программы установки Inno с открытым исходным кодом.
Изменить: Собственно, после небольшого исследования вы можете использовать директиву компилятора Delphi, чтобы сообщить Windows о загрузке полного исполняемого файла. Это работает, если у вас есть Delphi > 2006. Это приведет к тому, что вы никогда не получите внешнее исключение.
Поместите эту строку в файл проекта приложений:
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
Это говорит Windows, что исполняемый файл будет использоваться со съемных носителей, поэтому загрузите исполняемый файл в память (или файл подкачки). Тогда вам не нужно беспокоиться о таких вещах, как копирование файла на машину и т.д.
Для Delphi < 2006, вы можете пойти по пути принудительного выполнения исполняемого файла. Существует пример того, как это сделать в С++ здесь (кроме вы найдете способ изменить флаги заголовков PE после времени ссылки, что выглядит сложным)
N @
Ответ 2
Это EXCEPTION_IN_PAGE_ERROR. Это означает, что загрузчик ОС не смог выполнить поиск некоторых данных, необходимых для запуска приложения, вероятно, из-за ошибки ввода-вывода или другой ошибки. Поскольку вы удаляете диск, это имеет смысл.
Возможно, для рабочего набора (набора часто используемых страниц памяти) для приложения было разрешено достаточно расти на машинах 1 ГБ, так что обращение к диску для перезагрузки страниц было необязательным, но это было не так на машинах с 512 МБ?
Я бы предложил попробовать скопировать исполняемый файл во временное место и запустить его оттуда, возможно с задержкой удаления; или использовать какой-либо другой механизм для обеспечения поддержки на диске для всех страниц памяти, затронутых приложением в обычном режиме, и предотвратить эту ошибку в случае давления памяти, когда ОС будет обрезать рабочий набор запущенных процессов.
Ответ 3
Как и @Barry, я бы рекомендовал проверить тип диска тома, из которого выполняется ваш исполняемый файл; если это удаляемый диск (и отсутствует параметр командной строки «уже в temp» ), скопируйте исполняемый файл (и любые его зависимости) в пользовательскую папку %TEMP%, а затем снова запустите его с дополнительным параметром командной строки для обозначения «уже в темпе».
- Создайте каждый временный файл с помощью
File.Create(targetPath, bufferSize, FileOptions.DeleteOnClose)(или одного из конструкторовFileStream, который принимает параметрFileOptions), но обязательно верните его в возвращаемый экземплярFileдо после запускается вторая копия (например, вList<File>). - Скопировать содержимое каждого файла.
- Запустите исполняемый файл из папки temp.
- Вызовите
Close()для каждого из экземпляровFile, сохраненных выше. - Выход из исходного исполняемого файла.
Таким образом, файлы закрываются независимо от того, какой процесс заканчивается первым, а исходный том может быть удален ранее.
Ответ 4
Решение
uses Windows;
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
доступен для Delphi с версии 6.
Ответ 5
Существует рабочая версия Delphi RunImageLocally из MSJ, которая заставляет загружать исполняемый файл /dll. Это может предотвратить ошибки C0000006 при запуске из сетевой или съемный носитель…
Проверьте это на https://github.com/jrsoftware/issrc/blob/master/Projects/SetupLdr.dpr
Ответ 6
Это исключение C0000006 также часто возникает, если ваше программное обеспечение запускается с сетевого диска. Чтобы предотвратить эту проблему, вы можете комбинировать флаг
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
со следующим флагом:
IMAGE_FILE_NET_RUN_FROM_SWAP = $0800;
{$SetPEFlags $0C00}
Некоторые программы и игры, установленные пользователями в Windows OC, могут перестать запускаться, сообщая о возникновении ошибки 0xc0000006. Чаще всего подобная проблема наблюдается с программами, которые были установлены в систему и до этого ни разу не запускались, но иногда может проявляться в отношении программ и игр, которыми на данном ПК пользовались ранее без особых проблем. Если на вашем ПК возникла ошибка 0xc0000006, ознакомьтесь с этим материалом и проделайте поочередно шаги, которые описаны ниже. Они помогут выяснить причину возникновения ошибки 0xc0000006, а также устранить ее наиболее просто и эффективно.

Что становится причиной появления ошибки 0xc0000006
Причин для появления ошибки 0xc0000006 может быть несколько. Все зависит от конкретных настроек и параметров системы, а также от софта, установленного на ПК. Часто причиной появления такой ошибки может послужить антивирусное ПО, которое блокирует отдельные компоненты игры или программы, или предотвращает запуск файла exe.
Как исправить ошибку 0xc0000006
Способ #1
Так как большинство софта, который устанавливается на пользовательские ПК является нелицензионным, скопированным не самым правильным образом, или вовсе скачанным из сети, не всегда можно быть уверенным в его качестве и безопасности. Если в вашей системе установлено антивирусное ПО, оно может блокировать запуск подобных программ автоматическим образом, никак не оповещая вас об этом.
Перейдите в панель управления вашего антивируса и проверьте список заблокированных файлов и программ. Возможно, среди них вы найдете и программу, которая выдает ошибку 0xc0000006 при запуске. Будьте внимательны, так как антивирус может блокировать не всю программу, а лишь отдельные компоненты и файлы, необходимые для ее запуска.
Внесите эти файлы в белый список антивируса и повторите попытку запуска.
Способ #2
Проверьте систему на наличие вирусов или вредоносного ПО. Для этого используйте специальные утилиты MalwareBytes Antimalware или Dr.Web CureIT.
- Скачайте самые свежие версии и после запуска проверьте наличие обновленных антивирусных баз.
- Проведите полноценное сканирование системы и удалите все угрозы и подозрительное ПО, которое будет обнаружено сканерами.
- После этой процедуры перезагрузите компьютер и обязательно произведите переустановку программы, выдававшей ошибку 0xc0000006.
Ошибка возникает, когда операционная система не может загрузить нужную ей часть выполняемого файла или динамической библиотеки.

Причиной может быть обрыв сетевого соединения, если выполняемый файл находится на сетевом диске.
Мы добавили в заголовок gedemin.exe, gedemin_upd.exe и gdcc.exe флаг IMAGE_FILE_NET_RUN_FROM_SWAP. Теперь при запуске программы с сетевого диска она будет целиком копироваться в swap файл локального компьютера. Это замедлит процесс начальной загрузки, но позволит избавиться от ошибки в случае обрыва соединения.
Для обновления следует взять архив с нашего сайта и переписать с заменой все файлы из него. Утилита автоматического обновления может не сработать, так как номера версий файлов не изменились.
Следует протестировать новый выполняемый модуль в сетях, где возникала указанная проблема. Если установка флага не поможет, то, возможно, следует аналогичный флаг установить и для всех динамических библиотек, используемых Гедымином.
Также в сети есть информация, что если ошибка появляется при работе в терминальных сессиях Windows Terminal Server 2008, то рекомендуется установить в реестре флаг:
Subkey: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMRxSmbParameters
Type: REG_DWORD
Entry: MultiUserEnabled
Value: 1
03.01.2021
Просмотров: 7338
Во время запуска приложений на ПК с Windows 10 может появиться ошибка 0xc0000006 с сопутствующим уведомлением «STATUS_IN_PAGE_ERROR», «Bad Image» или «Ошибка приложений». Возникает такая неполадка по следующим причинам: повреждение системных файлов, вирусное заражение, блокировка исполнительного файла антивирусом или самой системой, несовместимость софта с операционной системой.
Читайте также: Не воспроизводится видео и звук: ошибка 0xc00d36c4
Методы исправления ошибки 0xc0000006 при запуске приложения
Чаще всего ошибка 0xc0000006 при запуске приложений появляется при попытке запустить на устройстве пиратскую версию софта. Поэтому, если вы установили на своем ПК ломаную версию игры или приложения, то переустановите программу, предварительно скачав установочный файл с официального сайта разработчика.
В случае, если у вас установлена оригинальная версия игры или софта, и появилась ошибка с кодом 0xc0000006, то в первую очередь, рекомендуем на время запуска программы отключить антивирус и штатный защитник. Если неполадка исчезла, то нужно добавить программу в исключения антивируса.

Если программа после внесения её в исключения антивируса все же не запускается, то причина может крыться в вирусном заражении системы. Рекомендуем проверить Windows 10 и любую другую сборку на вирусы. Для этого можно использовать как штатный антивирус, так и лечащую утилиту Доктор Web, которая максимально глубоко просканирует систему на вирусы и вредоносное ПО.

Если антивирус обнаружил вирусы, то, вероятнее всего, файлы программ или Windows 10 были повреждены, а из-за этого корректная работа софта не гарантирована. Для того, чтобы проверить систему на целостность файлов, стоит запустить командную строку с правами Администратора и ввести sfc /scannow.

Если утилита не обнаружила нарушения целостности, то пробуем выполнить Чистую загрузку Windows 10, чтобы убедиться, что работе системы и программ не мешают сторонние службы. Для чистого запуска Windows, необходимо нажать «Win+R» и ввести «msconfig». Появится окно «Конфигурация системы». Во вкладке «Общее» нужно снять отметку «Загружать элементы автозагрузки» и поставить галочку «Загружать системные службы». Во вкладке «Службы» нужно установить отметку «Не отображать службы Майкрософт». Нажимаем «Отключить все» и кликаем «Применить». Система загрузится без дополнительных ПО и служб. Если ошибка 0xc0000006 исчезла, то проблема кроется в какой-то сторонней программе. Нужно посмотреть, какой софт вы устанавливали последним и удалить его.

Также ошибка приложения 0xc0000006 может появиться из-за конфликтующего обновления для Windows 10. Поэтому можно попробовать удалить пакет обновления, который был установлен и после него начала вылетать ошибка.
ВАЖНО! Перед удалением пакета обновлений рекомендуем записать номер апдейта, чтобы иметь возможность установить его вручную, если ошибка с ним не связана.
Для того, чтобы удалить обновление в Windows 10 и в других сборках, стоит открыть «Панель управления», «Программы», в меню слева выбрать «Просмотр установленных обновлений» и удалить последнее установленное обновление.

Если обновление не виновно в ошибке, его можно установить вручную. Далее, как вариант решения ошибки, нажимаем Win+R и вводим rstrui. Появится окно для восстановления системы. Подтверждаем откат системы до более раннего состояния.
Также, если вышеописанные способы не помогли исправить неполадку, нужно переустановить программу, при запуске которой появляется ошибка 0xc0000006.