Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 5345 - Не устанавливается Гарант 7.4.1   Make a simular bug
Summary: Не устанавливается Гарант 7.4.1
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Запуск ; Отладка ; Исключения (show other bugs)
Version: 1.0.12
Hardware: PC All
: P2 critical
Target Milestone: ---
Deadline: 2010-04-27
Assignee: Виталий Перов
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
: 5450 (view as bug list)
Depends on: 5475
Blocks: 5333 5472
  Show dependency treegraph
 
In work:
Reported: 2010-03-24 17:56 MSK by Andrey Vusik
Modified: 2010-05-28 15:58 MSD (History)
7 users (show)

See Also:
Заявки RT: 13774, 13766, 13729, 13797, 13963
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Vusik 2010-03-24 17:56:32 MSK
Ставить в бутылку prav/garant/7-4-1/local
Дистрибутив в Windows/Правовые/Garant\ 7.4.1/741/ 

Падает на:

fixme:ole:DllRegisterServer stub
wine: Unhandled page fault on read access to 0x00000004 at address 0xb7e84021 (thread 000c), starting debugger...
Unhandled exception: page fault on read access to 0x00000004 in 32-bit code (0xb7e84021).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:b7e84021 ESP:0032fde8 EBP:0032fe04 EFLAGS:00210246(   - 00      -RIZP1)
 EAX:00000004 EBX:7efc8ff4 ECX:69906fbc EDX:00000000
 ESI:0032fe24 EDI:0032fe24
Stack dump:
0x0032fde8:  7ef96bec 00000004 00000000 00000000
0x0032fdf8:  00000000 7ee81ff4 0032fe1c 0032fe44
0x0032fe08:  7ee1167f 0032fe24 00000004 00000000
0x0032fe18:  00000000 00000000 7efc8ff4 7ffdf000
0x0032fe28:  00000004 7ef7a837 0032fe4c 00000000
0x0032fe38:  7ee81ff4 00000002 0032fe98 0032fe74
Backtrace:
=>0 0xb7e84021 strlen+0x31() in libc.so.6 (0x0032fe04)
  1 0x7ee1167f FILE_name_AtoW+0x2f() in kernel32 (0x0032fe44)
  2 0x7ee30f28 GetModuleHandleExA+0x68() in kernel32 (0x0032fe74)
  3 0x7ee30f8c GetModuleHandleA+0x2c() in kernel32 (0x0032fea4)
  4 0x004012c7 in f1setup (+0x12c7) (0x0032fef8)
  5 0x7ee42b5f in kernel32 (+0x62b5f) (0x0032ffe8)
0xb7e84021 strlen+0x31 in libc.so.6: movl	0x0(%eax),%ecx
Modules:
Module	Address			Debug info	Name (51 modules)
PE	  400000-  5be000	Export          f1setup
ELF	7bf00000-7bf05000	Deferred        <wine-loader>
ELF	7e3ab000-7e3b1000	Deferred        libxfixes.so.3
ELF	7e3b1000-7e3bb000	Deferred        libxcursor.so.1
ELF	7e3bb000-7e3bf000	Deferred        libxcomposite.so.1
ELF	7e3bf000-7e3c7000	Deferred        libxrandr.so.2
ELF	7e3c7000-7e3d1000	Deferred        libxrender.so.1
ELF	7e3d1000-7e3d7000	Deferred        libxxf86vm.so.1
ELF	7e3d7000-7e3db000	Deferred        libxinerama.so.1
ELF	7e3db000-7e3f1000	Deferred        libresolv.so.2
ELF	7e3f1000-7e3f8000	Deferred        libnss_dns.so.2
ELF	7e3f8000-7e403000	Deferred        libnss_nis.so.2
ELF	7e403000-7e41c000	Deferred        libnsl.so.1
ELF	7e41c000-7e42a000	Deferred        libnss_nisplus.so.2
ELF	7e42a000-7e44b000	Deferred        imm32<elf>
  \-PE	7e430000-7e44b000	\               imm32
ELF	7e44b000-7e451000	Deferred        libxdmcp.so.6
ELF	7e451000-7e455000	Deferred        libxau.so.6
ELF	7e455000-7e46e000	Deferred        libxcb.so.1
ELF	7e46e000-7e473000	Deferred        libuuid.so.1
ELF	7e473000-7e48b000	Deferred        libice.so.6
ELF	7e48b000-7e5a8000	Deferred        libx11.so.6
ELF	7e5a8000-7e5b8000	Deferred        libxext.so.6
ELF	7e5b8000-7e5c1000	Deferred        libsm.so.6
ELF	7e5db000-7e677000	Deferred        winex11<elf>
  \-PE	7e5f0000-7e677000	\               winex11
ELF	7e677000-7e68c000	Deferred        keyboard.drv16.so
PE	7e680000-7e68c000	Deferred        keyboard.drv16
ELF	7e767000-7e7bc000	Deferred        advapi32<elf>
  \-PE	7e770000-7e7bc000	\               advapi32
ELF	7e7bc000-7e7e3000	Deferred        libexpat.so.1
ELF	7e7e3000-7e7f9000	Deferred        libz.so.1
ELF	7e7f9000-7e826000	Deferred        libfontconfig.so.1
ELF	7e826000-7e8ac000	Deferred        libfreetype.so.6
ELF	7e8ac000-7e94c000	Deferred        gdi32<elf>
  \-PE	7e8c0000-7e94c000	\               gdi32
ELF	7e94c000-7ea97000	Deferred        user32<elf>
  \-PE	7e960000-7ea97000	\               user32
ELF	7ea97000-7ebd6000	Deferred        libcrypto.so.7
ELF	7ebd6000-7ebe9000	Deferred        libnatspec.so.0
ELF	7ebe9000-7ec55000	Deferred        libwine-etersoft.so.1
ELF	7edcb000-7ef09000	Export          kernel32<elf>
  \-PE	7ede0000-7ef09000	\               kernel32
ELF	7ef09000-7ef33000	Deferred        libm.so.6
ELF	7ef33000-7f000000	Deferred        ntdll<elf>
  \-PE	7ef50000-7f000000	\               ntdll
ELF	b7e00000-b7e0d000	Deferred        libnss_files.so.2
ELF	b7e0e000-b7e13000	Deferred        libdl.so.2
ELF	b7e13000-b7f6b000	Export          libc.so.6
ELF	b7f6b000-b7f84000	Deferred        libpthread.so.0
ELF	b80db000-b80f8000	Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000e 
	00000027    0
	0000001f    0
	00000016    0
	00000015    0
	00000014    0
	00000010    0
	0000000f    0
00000011 
	00000017    0
	00000013    0
	00000012    0
00000018 
	0000002b    0
	00000023    0
	0000001b    0
	0000001a    0
	00000019    0
0000001c 
	00000020    0
	0000001e    0
	0000001d    0
00000024 
	00000028    0
	00000026    0
	00000025    0
00000035 
	00000036    0
00000047 (D) P:\Windows\��������\Garant 7.4.1\741\LOCAL\F1Setup.exe
	0000000c    0 <==
Backtrace:
=>0 0xb7e84021 strlen+0x31() in libc.so.6 (0x0032fe04)
  1 0x7ee1167f FILE_name_AtoW+0x2f() in kernel32 (0x0032fe44)
  2 0x7ee30f28 GetModuleHandleExA+0x68() in kernel32 (0x0032fe74)
  3 0x7ee30f8c GetModuleHandleA+0x2c() in kernel32 (0x0032fea4)
  4 0x004012c7 in f1setup (+0x12c7) (0x0032fef8)
  5 0x7ee42b5f in kernel32 (+0x62b5f) (0x0032ffe8)
Comment 1 Александр Морозов 2010-04-02 15:47:19 MSD
GetModuleHandleA вызывается с неправильным указателем:

Backtrace:
=>0 0xb7d29021 strlen+0x31() in libc.so.6 (0x0032fdf4)
  1 0x7edceecc FILE_name_AtoW+0x24(name=*** invalid address 0x4 ***, alloc=0) [/home/amorozov/Projects/wine-eter-1.0.12/dlls/kernel32/file.c:250] in kernel32 (0x0032fe34)
  2 0x7edf445a GetModuleHandleExA+0x53(flags=2, name=*** invalid address 0x4 ***, module=0x32fe88) [/home/amorozov/Projects/wine-eter-1.0.12/dlls/kernel32/module.c:492] in kernel32 (0x0032fe64)
  3 0x7edf4678 GetModuleHandleA+0x2c(module=*** invalid address 0x4 ***) [/home/amorozov/Projects/wine-eter-1.0.12/dlls/kernel32/module.c:560] in kernel32 (0x0032fe94)
  4 0x004012c7 in f1setup (+0x12c7) (0x0032fee8)
  5 0x7ee06c1c start_process+0x156(arg=(nil)) [/home/amorozov/Projects/wine-eter-1.0.12/dlls/kernel32/process.c:923] in kernel32 (0x0032ffe8)
Comment 2 Александр Морозов 2010-04-02 15:50:14 MSD
Если запускать с WINEDEBUG=+relay, выводится сообщение "Подходящий язык установки не может быть выбран".
Comment 4 Александр Морозов 2010-04-02 20:29:20 MSD
Я ошибся, используется *(ptr + 12) + 4
Comment 6 Andrey Vusik 2010-04-07 14:10:40 MSD
Устанавливается через *.msi в папке setup
Но запуск всех *.exe (включая последующую установку данных) заканчивается
Can't attach process 0076: error 5

Кстати, можно проверять на последней версии Гаранта 7.4.1-18 
Comment 8 Виталий Перов 2010-04-07 15:42:00 MSD
При добавлении fixme на kernel32.dll:start_process() программа успешно запускается. Получаем:

<wine@cellar bottle prav/garant/7-4-1/local>$ ww F1LocalSetupRus_ru-ru.exe
fixme:module:GetModuleHandleA  module = 0x7e9dcef2 -> 'gdi32' -----------------------------
fixme:process:start_process 000d:Starting process L"C:\\windows\\system32\\etermsg.exe" (entryproc=0x7ea3a5f4)
fixme:process:start_process 000b:Starting process L"C:\\windows\\system32\\wineboot.exe" (entryproc=0x7ea32b64)
fixme:process:start_process 000f:Starting process L"C:\\windows\\system32\\services.exe" (entryproc=0x7ea391fc)
fixme:module:GetModuleHandleA  module = 0x8f810ef2 -> 'gdi32' -----------------------------
fixme:process:start_process 0012:Starting process L"C:\\windows\\system32\\winedevice.exe" (entryproc=0x8fa1a42c)
fixme:module:GetModuleHandleA  module = 0x8f818ef2 -> 'gdi32' -----------------------------
fixme:process:start_process 0018:Starting process L"C:\\windows\\system32\\winedevice.exe" (entryproc=0x8fa2242c)
fixme:module:GetModuleHandleA  module = 0x8f810ef2 -> 'gdi32' -----------------------------
fixme:process:start_process 001c:Starting process L"C:\\windows\\system32\\winedevice.exe" (entryproc=0x8fa1a42c)
fixme:module:GetModuleHandleA  module = 0x8f810ef2 -> 'gdi32' -----------------------------
fixme:module:GetModuleHandleA  module = 0x8f810ef2 -> 'gdi32' -----------------------------
fixme:process:start_process 0022:Starting process L"C:\\windows\\system32\\winedevice.exe" (entryproc=0x8fa1a42c)
fixme:process:start_process 0025:Starting process L"C:\\windows\\system32\\winedevice.exe" (entryproc=0x8fa1a42c)
fixme:module:GetModuleHandleA  module = 0x8f810ef2 -> 'gdi32' -----------------------------
fixme:module:GetModuleHandleA  module = 0x7e6f8ef2 -> 'gdi32' -----------------------------
fixme:process:start_process 002a:Starting process L"C:\\windows\\system32\\winedevice.exe" (entryproc=0x8fa1a42c)
fixme:module:GetModuleHandleA  module = 0x7ea24ef2 -> 'gdi32' -----------------------------
fixme:process:start_process 0009:Starting process L"C:\\741\\LOCAL\\setup\\F1LocalSetupRus_ru-ru.exe" (entryproc=0x401004)
fixme:module:GetModuleHandleA  module = 0x7ee2afe9 -> 't_process' -----------------------------
fixme:module:GetModuleHandleA  module = 0x376bb0 -> 'user32' -----------------------------
fixme:module:GetModuleHandleA  module = 0x376bb0 -> 'advapi32' -----------------------------
fixme:module:GetModuleHandleA  module = 0x0 -> 'Invalid' -----------------------------
fixme:module:GetModuleHandleA eterhack: invalid pointer. Return 0
fixme:module:GetModuleHandleA  module = 0x376bb0 -> 'kernel32.dll' -----------------------------
fixme:module:GetModuleHandleA  module = 0x41256c -> 'KERNEL32.DLL' -----------------------------
fixme:module:GetModuleHandleA  module = 0x41256c -> 'KERNEL32.DLL' -----------------------------
Comment 10 Виталий Перов 2010-04-07 18:52:19 MSD
Если в start_process убрать вывод всех сообщений, то даже при отладке по каналу relay программа падает.
При этом можно точно отследить все функции, вызываемые перед падением

fixme:module:GetModuleHandleA  module = 0x7ea1cef2 -> 'gdi32' -----------------------------
003c:Call PE DLL (proc=0x7e3b5078,module=0x7e3a0000 L"imm32.dll",reason=PROCESS_ATTACH,res=(nil))
003c:Call user32.RegisterWindowMessageA(7e3b5a6b "MSIMEService") ret=7e3adbd6
003c:Ret  user32.RegisterWindowMessageA() retval=0000c000 ret=7e3adbd6
003c:Call user32.RegisterWindowMessageA(7e3b5a78 "MSIMEReconvertOptions") ret=7e3adbed
003c:Ret  user32.RegisterWindowMessageA() retval=0000c001 ret=7e3adbed
003c:Call user32.RegisterWindowMessageA(7e3b5a8e "MSIMEMouseOperation") ret=7e3adc04
003c:Ret  user32.RegisterWindowMessageA() retval=0000c002 ret=7e3adc04
003c:Call user32.RegisterWindowMessageA(7e3b5aa2 "MSIMEReconvertRequest") ret=7e3adc1b
003c:Ret  user32.RegisterWindowMessageA() retval=0000c003 ret=7e3adc1b
003c:Call user32.RegisterWindowMessageA(7e3b5ab8 "MSIMEReconvert") ret=7e3adc32
003c:Ret  user32.RegisterWindowMessageA() retval=0000c004 ret=7e3adc32
003c:Call user32.RegisterWindowMessageA(7e3b5ac7 "MSIMEQueryPosition") ret=7e3adc49
003c:Ret  user32.RegisterWindowMessageA() retval=0000c005 ret=7e3adc49
003c:Call user32.RegisterWindowMessageA(7e3b5ada "MSIMEDocumentFeed") ret=7e3adc60
003c:Ret  user32.RegisterWindowMessageA() retval=0000c006 ret=7e3adc60
003c:Call KERNEL32.TlsAlloc() ret=7e3add01
fixme:process:TlsAlloc CALL
003c:Ret  KERNEL32.TlsAlloc() retval=00000000 ret=7e3add01
003c:Ret  PE DLL (proc=0x7e3b5078,module=0x7e3a0000 L"imm32.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1
003c:Call PE DLL (proc=0x7e5d0d9c,module=0x7e550000 L"winex11.drv",reason=PROCESS_ATTACH,res=(nil))
fixme:process:TlsAlloc CALL
003c:Ret  PE DLL (proc=0x7e5d0d9c,module=0x7e550000 L"winex11.drv",reason=PROCESS_ATTACH,res=(nil)) retval=1
003c:Ret  PE DLL (proc=0x7ea08edc,module=0x7e950000 L"user32.dll",reason=PROCESS_ATTACH,res=0x1) retval=1
003c:Call KERNEL32.GetModuleHandleA(00000004) ret=004012c7
fixme:module:GetModuleHandleA  module = 0x4 -> 'Invalid' -----------------------------
Comment 11 Виталий Перов 2010-04-08 16:01:42 MSD
Так, как задача срочная, предлагаю сделать временный хак, а правильное решение проблемы отложить.
Достаточно просто выводить какое-нибудь сообщение в kernel32.dll:start_process() для того, чтобы программа заработала.
Comment 12 Константин Кондратюк 2010-04-08 16:07:02 MSD
> Достаточно просто выводить какое-нибудь
> сообщение в kernel32.dll:start_process() для того, чтобы
> программа заработала.

Не уверен, что достаточно. Это что-то вроде плавающего бага, который будет на разных железках вылезать - в зависимости от количества процессоров, их скорости, памяти и т.п. Разве что снизить вероятность появления?
Comment 13 Виталий Перов 2010-04-08 16:17:47 MSD
Заметил, что при добавлении FIXME бага исчезает. При добавлении printf - остаётся
Comment 15 Виталий Перов 2010-04-08 18:33:32 MSD
Отправил письмо в Гарант.
Comment 17 Виталий Перов 2010-04-12 17:43:56 MSD
*** Bug 5450 has been marked as a duplicate of this bug. ***
Comment 18 Mikhail Krylatykh 2010-04-12 17:53:53 MSD
Ждем фикса от Гаранта? Или будет сборка с костылем fixme?
Comment 24 Mikhail Krylatykh 2010-04-19 09:25:52 MSD
Интересные дела... Только что звонила девочка из "Гаранта", с которой мы общаемся по поводу этого самого "Гаранта", и сказала, что у нее у одного из клиентов "тоже линукс, и там все встало и заработало"...
Comment 25 Денис Баранов 2010-04-21 17:58:03 MSD
Нужно срочно делать Гарант, 1мая скоро.
Comment 27 Виталий Перов 2010-04-21 18:12:02 MSD
(In reply to comment #24)
> Интересные дела... Только что звонила
> девочка из "Гаранта", с которой мы общаемся
> по поводу этого самого "Гаранта", и сказала,
> что у нее у одного из клиентов "тоже линукс,
> и там все встало и заработало"...
> 

А вы уверены, что версия именно 7.4.1?
Comment 28 Mikhail Krylatykh 2010-04-21 18:33:38 MSD
Не уверен ;)
"О программе" в моем случае говорит следующее: 7.04.0.239
А некая "следующая" версия оболочки, на которую должно бы обновиться, не запускается, и ее версию я точно сказать не могу.
Comment 33 Виталий Перов 2010-04-26 16:57:36 MSD
Создал новую бутылку prav/garant/7-4-1/local2
Проверил установку - всё работает.
(Установка данных - отдельная бага)
Comment 34 Mikhail Krylatykh 2010-04-26 18:47:49 MSD
Гарант какой то патч прислал? Или сами что-то поправили/залатали?
Comment 35 Виталий Перов 2010-04-26 20:09:41 MSD
(In reply to comment #34)
> Гарант какой то патч прислал? Или сами
> что-то поправили/залатали?
> 

Сами поправили
Comment 36 Sergey 2010-04-29 13:56:45 MSD
А  когда пользователем будет доступен этот патч?
Comment 37 Денис Баранов 2010-05-27 18:10:09 MSD
Принято.
WINE@Etersoft 1.0.12 eter5.6/eter8
Comment 38 Andrey Vusik 2010-05-28 15:58:07 MSD
Работает