powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / A generic error occurred in GDI+
25 сообщений из 31, страница 1 из 2
A generic error occurred in GDI+
    #39817392
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто какие варианты решения проблемы знает у исключения (0x80004005): A generic error occurred in GDI+ ?

Поделитесь плз. Отметаем проблемы с Dispose, памятью, недоступности диска, прав доступа -- точно не оно, проверено. На одном серваке только ловится из десятка. Может кто сталкивался?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817393
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по тому, что это HRESULT, я думаю, что проблема где-то вообще на низком уровне. Я бы попробовал драйвер видео переустановить. Или попробовать на время поставить "Generic VGA driver" - посмотреть, будет ли и на нем эта ошибка.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817394
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

ПО запускается на Windows Server 2012 R2, даже не знаю как это может быть связано с драйвером видео, сталкивался с таким?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817398
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttfkthat,

ПО запускается на Windows Server 2012 R2, даже не знаю как это может быть связано с драйвером видео, сталкивался с таким?

Не, не сталкивался. А как серверное ПО использует GDI+? Там что - какая-то обработка изображений на серваке?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817464
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthathVosttfkthat,

ПО запускается на Windows Server 2012 R2, даже не знаю как это может быть связано с драйвером видео, сталкивался с таким?

Не, не сталкивался. А как серверное ПО использует GDI+? Там что - какая-то обработка изображений на серваке?

Генерация и обработка QR-кодов, это веб приложение на .NET Framework 4.7
В другом нашем ПО на ASP.NET Core таких проблем нет )
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817480
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

На чем конкретно падает?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817481
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКто какие варианты решения проблемы знает у исключения (0x80004005): A generic error occurred in GDI+ ?

Что то куда то пытаешься сохранять?
На что то нет прав или какого то каталога не существует.
При чем может быть разрешающие правило и запрещающее, последнее будет иметь приоритет.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817483
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat Я бы попробовал драйвер видео переустановить.
А что такое "драйвер видео"?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817684
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЧто то куда то пытаешься сохранять?
На что то нет прав или какого то каталога не существует.
При чем может быть разрешающие правило и запрещающее, последнее будет иметь приоритет.

Всё в памяти происходит, никакой работы с файлами и каталогами.

ИзопропилНа чем конкретно падает?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        public static byte[] ToArray(this Image image)
        {
            using (var ms = new MemoryStream())
            {
                image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                return ms.ToArray();
            }
        }
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817686
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Вообще странно. Может просто память битая? :))
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817708
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthathVostt,

Вообще странно. Может просто память битая? :))

Тогда это была бы не единственная проблема ))
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817726
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
1. Стек при ошибке
2. Блок HDC \ видеопамяти при одновременном доступе
3. Потоки
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817730
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Просто тогда вообще загадка, ибо, как я понимаю, приведенный код ничего кроме неких манипуляций с данными в памяти не делает, так что проблема тут точно не в драйверах, хотя он может, наверное, как-то к тому же DirectX обращаться. Там на всех серверах он одинаковый стоит (DirectX)?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817750
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Совсем непонятно как тут видеокарта участвует :)
По стеку ничего не понятно, нужно профилировать, но пока такой возможности нет, поэтому и спрашиваю.
А что с потоками?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817751
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Именно. При чем работает на всех стендах предпродакшена, но не на продовом.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817760
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Есть возможность на том серваке дернуть https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing.imaging.imagecodecinfo.getimagedecoders?view=netframework-4.8
от имени того, под кем работает asp.net?
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817762
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVostt,
Есть возможность на том серваке дернуть https://docs.microsoft.com/ru-ru/dotnet/api/system.drawing.imaging.imagecodecinfo.getimagedecoders?view=netframework-4.8
от имени того, под кем работает asp.net?

Есть, спасибо за наводку! Напишу как будут результаты.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817765
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Стек просто помог бы.
Необязательно видеокарта. HDC можно самому создать.
Тебе там виднее. Стека то нет.
...
Потоки это одновременный доступ к HDC.
.. Стек можно добавить путем правки кода. По хорошему он всегда на errors уровень должен в логах.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817936
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,


Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
{
  "Clsid": "557cf400-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cab-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in BMP Codec",
  "DllName": null,
  "FormatDescription": "BMP",
  "FilenameExtension": "*.BMP;*.DIB;*.RLE",
  "MimeType": "image/bmp",
  "Flags": 65543,
  "Version": 1,
  "SignaturePatterns": [
    "Qk0="
  ],
  "SignatureMasks": [
    "//8="
  ]
}
{
  "Clsid": "557cf401-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cae-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in JPEG Codec",
  "DllName": null,
  "FormatDescription": "JPEG",
  "FilenameExtension": "*.JPG;*.JPEG;*.JPE;*.JFIF",
  "MimeType": "image/jpeg",
  "Flags": 65543,
  "Version": 1,
  "SignaturePatterns": [
    "/9g="
  ],
  "SignatureMasks": [
    "//8="
  ]
}
{
  "Clsid": "557cf402-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cb0-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in GIF Codec",
  "DllName": null,
  "FormatDescription": "GIF",
  "FilenameExtension": "*.GIF",
  "MimeType": "image/gif",
  "Flags": 65543,
  "Version": 1,
  "SignaturePatterns": [
    "R0lGODlh",
    "R0lGODdh"
  ],
  "SignatureMasks": [
    "////////",
    "////////"
  ]
}
{
  "Clsid": "557cf403-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cac-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in EMF Codec",
  "DllName": null,
  "FormatDescription": "EMF",
  "FilenameExtension": "*.EMF",
  "MimeType": "image/x-emf",
  "Flags": 65542,
  "Version": 1,
  "SignaturePatterns": [
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBFTUY="
  ],
  "SignatureMasks": [
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8="
  ]
}
{
  "Clsid": "557cf404-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cad-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in WMF Codec",
  "DllName": null,
  "FormatDescription": "WMF",
  "FilenameExtension": "*.WMF",
  "MimeType": "image/x-wmf",
  "Flags": 65542,
  "Version": 1,
  "SignaturePatterns": [
    "183Gmg=="
  ],
  "SignatureMasks": [
    "/////w=="
  ]
}
{
  "Clsid": "557cf405-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cb1-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in TIFF Codec",
  "DllName": null,
  "FormatDescription": "TIFF",
  "FilenameExtension": "*.TIF;*.TIFF",
  "MimeType": "image/tiff",
  "Flags": 65543,
  "Version": 1,
  "SignaturePatterns": [
    "SUk=",
    "TU0="
  ],
  "SignatureMasks": [
    "//8=",
    "//8="
  ]
}
{
  "Clsid": "557cf406-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3caf-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in PNG Codec",
  "DllName": null,
  "FormatDescription": "PNG",
  "FilenameExtension": "*.PNG",
  "MimeType": "image/png",
  "Flags": 65543,
  "Version": 1,
  "SignaturePatterns": [
    "iVBORw0KGgo="
  ],
  "SignatureMasks": [
    "//////////8="
  ]
}
{
  "Clsid": "557cf407-1a04-11d3-9a73-0000f81ef32e",
  "FormatID": "b96b3cb5-0728-11d3-9d7b-0000f81ef32e",
  "CodecName": "Built-in ICO Codec",
  "DllName": null,
  "FormatDescription": "ICO",
  "FilenameExtension": "*.ICO",
  "MimeType": "image/x-icon",
  "Flags": 65542,
  "Version": 1,
  "SignaturePatterns": [
    "AAABAA=="
  ],
  "SignatureMasks": [
    "/////w=="
  ]
}


...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39817967
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GDI+ дернулся, уже хорошо.
Я бы тупо в лоб сделал все вызовы gdi, которые есть в
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);, там их кот наплакал
и смотрел, кто ругнется
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39818106
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Прогнали вызовы отдельно, вроде всё ок. Проблемный код работает на старом проекте под .NET 4.6, на ASP.NET WebAPI поверх OWIN, все вызовы асинхронные. Вроде это не должно быть проблемой, но информации по этому поводу пока найти не могу.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39818125
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Стек лови. Там все есть.
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39818137
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я подозреваю, что если стек ексепшена поизучать, то падает на вызове вот этого:

Код: c#
1.
2.
[DllImport("gdiplus.dll", CharSet=CharSet.Unicode, ExactSpelling=true, SetLastError=true)]
internal static extern int GdipSaveImageToStream(HandleRef image, UnsafeNativeMethods.IStream stream, ref Guid classId, HandleRef encoderParams);
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39818295
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пальцем в небо но возможно старой ОС не хватает костылей что бегать за современный рунтаймом.
https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows
...
Рейтинг: 0 / 0
A generic error occurred in GDI+
    #39818308
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка возникает только при работе с PNG в gdiplus.dll, проблема видимо в настройках реестра и апдейтах. Решилось заменой ОС на стенде на чистую установку со всеми апдейтами. Ещё один аргумент в пользу контейнеризации :)

Коллеги, всем спасибо за помощь!
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / A generic error occurred in GDI+
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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