Cedega4.0-1, error=21

Аватар пользователя alex_root

При устаноке приложения из под юсера выдаёт:
/usr/lib/transgaming_cedega//winex/bin/wine: can't exec 'SETUP.exe': error=21
По поводу этой ошибки, я прочёл что на этот счёт есть два мнения:
1. Ядро собрано с security patch-ем.
2. Cedega выдаёт error=21 практически при любой ошибке...

Пробовал изменять права на wine (/usr/lib/transgaming_cedega//winex/bin/wine) не помогает.

При запуске рутом:
wine: Unhandled exception, starting debugger...
WineDbg starting on pid 1
No debug information in ELF '/usr/lib/transgaming_cedega//winex/bin/wine' (0x00000000)
Breakpoint 1 at 0x00a6a4a0
No debug information in ELF '/usr/lib/transgaming_cedega//winex/pthread_lib/libntdll.so' (0x00648000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/pthread_lib/libwine.so' (0x00590000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libwine_unicode.so' (0x00c0c000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libwine_port.so' (0x00f14000)
*** Invalid address 0xff451000
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libkernel32.so' (0x00324000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libuser32.so' (0x00cd3000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libgdi32.so' (0x00407000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libadvapi32.so' (0x003ae000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libwineserver.so' (0x004ea000)
*** Invalid address 0xff8b7000
*** Invalid address 0xff73f000
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libx11drv.so' (0x009d9000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libwine_tsx11.so' (0x003d5000)
*** Invalid address 0xff7bf000
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libGLU.so.1' (0x00e05000)
*** Invalid address 0xedf000
No debug information in ELF '/usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2' (0x003a5000)
*** Invalid address 0xff700000
*** Invalid address 0xff770000
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libcomdlg32.so' (0x0274b000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libshell32.so' (0x02ffe000)
*** Invalid address 0xffb2b000
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libshlwapi.so' (0x00997000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libcomctl32.so' (0x01721000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libwinspool.drv.so' (0x0047c000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libversion.so' (0x00533000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/liblz32.so' (0x0053d000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libmpr.so' (0x0056c000)
No debug information in ELF '/usr/lib/transgaming_cedega//winex/lib/libwinmm.so' (0x055f3000)
No debug information in 32bit DLL 'F:\SETUP.exe' (0x00400000)
No debug information in 32bit DLL 'NTDLL.DLL' (0x00685000)
No debug information in 32bit DLL 'KERNEL32.DLL' (0x00357000)
No debug information in 32bit DLL 'ADVAPI32.DLL' (0x003c0000)
No debug information in 32bit DLL 'GDI32.DLL' (0x00426000)
No debug information in 32bit DLL 'USER32.DLL' (0x00d0a000)
No debug information in 32bit DLL 'X11DRV.DLL' (0x009f6000)
No debug information in 32bit DLL 'C:\WINDOWS\SYSTEM32\RPCRT4.DLL' (0x77cb0000)
No debug information in 32bit DLL 'C:\WINDOWS\SYSTEM32\OLE32.DLL' (0x771a0000)
No debug information in 32bit DLL 'SHLWAPI.DLL' (0x009b4000)
No debug information in 32bit DLL 'COMCTL32.DLL' (0x0172f000)
No debug information in 32bit DLL 'SHELL32.DLL' (0x03024000)
No debug information in 32bit DLL 'WINSPOOL.DRV' (0x00484000)
No debug information in 32bit DLL 'COMDLG32.DLL' (0x0275d000)
No debug information in 32bit DLL 'LZ32.DLL' (0x00540000)
No debug information in 32bit DLL 'VERSION.DLL' (0x00536000)
No debug information in 32bit DLL 'MPR.DLL' (0x00572000)
No debug information in 32bit DLL 'WINMM.DLL' (0x05601000)
No debug information in 32bit DLL 'E:\GLC9D6E.TMP' (0x10000000)
Unhandled exception: unimplemented function ntdll.ZwClose called in 32-bit code (0x00686052).
In 32-bit mode.
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:003b GS:0033
EIP:00686052 ESP:00962080 EBP:009620d8 EFLAGS:00000246( - 00 I Z- -P1 )
EAX:771d7f13 EBX:0072f108 ECX:771d76ba EDX:00000033
ESI:00962080 EDI:00020019
Stack dump:
0x00962080 (NTDLL.DLL.NlsMbOemCodePageTag+0x23602b): 80000100 00000001 00000000 771d7f13
0x00962090 (NTDLL.DLL.NlsMbOemCodePageTag+0x23603b): 00000002 00704700 00705f40 0096295c
0x009620a0 (NTDLL.DLL.NlsMbOemCodePageTag+0x23604b): 77219918 771db140 ffffffff 771d76ba
0x009620b0 (NTDLL.DLL.NlsMbOemCodePageTag+0x23605b): 771d7749 c0000034 00000000 003c003a
0x009620c0 (NTDLL.DLL.NlsMbOemCodePageTag+0x23606b): 771a5210 009620e4 771d76fa 00000054
0x009620d0 (NTDLL.DLL.NlsMbOemCodePageTag+0x23607b): 0072f108 772a5134 009620e8 0068831c
0x009620e0 (NTDLL.DLL.NlsMbOemCodePageTag+0x23608b):

Backtrace:
=>0 0x00686052 (NTDLL.DLL..text+0x52 in NTDLL.DLL) (ebp=009620d8)
1 0x0068831c (NTDLL.DLL.ZwCloseObjectAuditAlarm in libntdll.so) (ebp=009620e8)
2 0x771d7f13 (OLE32.DLL.CLSIDFromOle1Class+0xaef in C:\WINDOWS\SYSTEM32\OLE32.DLL) (ebp=00962104)
3 0x771d7ead (OLE32.DLL.CLSIDFromOle1Class+0xa89 in C:\WINDOWS\SYSTEM32\OLE32.DLL) (ebp=00962130)
4 0x771b08b0 (OLE32.DLL.EntryPoint+0x40 in C:\WINDOWS\SYSTEM32\OLE32.DLL) (ebp=0096214c)
5 0x006b9d37 (KERNEL32.DLL.__wine_call_from_16_regs+0x6887 in libntdll.so) (ebp=00962170)
6 0x006b54a5 (KERNEL32.DLL.__wine_call_from_16_regs+0x1ff5 in libntdll.so) (ebp=00962198)
7 0x006b5623 (KERNEL32.DLL.__wine_call_from_16_regs+0x2173 in libntdll.so) (ebp=009621c0)
8 0x006b566b (KERNEL32.DLL.__wine_call_from_16_regs+0x21bb in libntdll.so) (ebp=009621e4)
9 0x006b566b (KERNEL32.DLL.__wine_call_from_16_regs+0x21bb in libntdll.so) (ebp=00962208)
10 0x006b566b (KERNEL32.DLL.__wine_call_from_16_regs+0x21bb in libntdll.so) (ebp=0096222c)
11 0x006b77a7 (KERNEL32.DLL.__wine_call_from_16_regs+0x42f7 in libntdll.so) (ebp=00962354)
12 0x006b8000 (KERNEL32.DLL.__wine_call_from_16_regs+0x4b50 in libntdll.so) (ebp=0096236c)
13 0x004025f9 (SETUP.exe.EntryPoint+0x44a in F:\SETUP.exe) (ebp=009628b0)
14 0x006f69a4 (NTDLL.DLL.wine_server_call+0x1a7c in libntdll.so) (ebp=00962954)
15 0x006f6ab7 (NTDLL.DLL.wine_server_call+0x1b8f in libntdll.so) (ebp=00962a88)
16 0x0011598c (ebp=00962afc)
17 0x00b5399a (NTDLL.DLL.memcpy+0x537fa) (ebp=00000000)

0x00686052 (NTDLL.DLL..text+0x52 in NTDLL.DLL): jmp 0x0068604c (NTDLL.DLL..text+0x4c in NTDLL.DLL)
Modules:
Address Module Name
0x00357000-00359000 (PE) KERNEL32.DLL
0x003c0000-003c2000 (PE) ADVAPI32.DLL
0x00400000-00406800 (PE) F:\SETUP.exe
0x00426000-00428000 (PE) GDI32.DLL
0x00484000-00486000 (PE) WINSPOOL.DRV
0x00536000-00538000 (PE) VERSION.DLL
0x00540000-00542000 (PE) LZ32.DLL
0x00572000-00574000 (PE) MPR.DLL
0x00685000-00687000 (PE) NTDLL.DLL
0x009b4000-009b6000 (PE) SHLWAPI.DLL
0x009f6000-009f8000 (PE) X11DRV.DLL
0x00d0a000-00d0c000 (PE) USER32.DLL
0x0172f000-01731000 (PE) COMCTL32.DLL
0x0275d000-0275f000 (PE) COMDLG32.DLL
0x03024000-03026000 (PE) SHELL32.DLL
0x05601000-05603000 (PE) WINMM.DLL
0x10000000-10027e00 (PE) E:\GLC9D6E.TMP
0x771a0000-772b9a00 (PE) C:\WINDOWS\SYSTEM32\OLE32.DLL
0x77cb0000-77d24800 (PE) C:\WINDOWS\SYSTEM32\RPCRT4.DLL
Threads:
process tid prio
00000001 (D) F:\SETUP.exe
00000002 0 <==
WineDbg terminated on pid 1

Прочёл что если Cedega не может найти ntdll.so (а она присутствует), нужно в /etc/ld.so.conf дописать пути, (т.к. это первая библиотека в списке загрузки, Cedega просто не может найти своих библиотек):
В /etc/ld.so.conf прописал:
/usr/lib/transgaming_cedega/winex/pthread_lib
/usr/lib/transgaming_cedega/winex/lib
Но результата нет.

Все .dll что прописаны в конфиге Cedega поставил.

ЗЫ
Вобщем проблема с выполнением кода в стеке. Секурность в АСПе такая...
Менять флажки локально не выходит, chstk в kernel-utils нет Грустный

Пробовал поколупать /etc/sysconfig/prelink, PRELINKING=yes сменил на "no", потом PRELINK_OPTS=-mR-no-exec-shield и #/usr/sbin/prelink -ua, побулькало и бестолку...
С правкой /etc/sysctl.conf kernel.exec-shield=2 менял на 0 всё то же Грустный

Аватар пользователя alex_root

Re: Cedega4.0-1, error=21

В /etc/sysconfig/prelink нужно поменять PRELINKING=yes на PRELINKING=no и добавить к строке PRELINK_OPTS=-mR-no-exec-shield
В /etc/sysctl.conf подправить
#kernel.exec-shield=0
и добавить
#vm.legacy_va_layout = 1

В консоли
#/usr/sbin/prelink -ua
и
#/etc/cron.dailly/prelink

#echo 0 > /proc/sys/kernel/exec-shield
#echo 1 > /proc/sys/vm/legacy_va_layout

Аватар пользователя keng00ru

Re: Cedega4.0-1, error=21

Алекс, глядя на твои мучения и заморочки, играть мне уже не хочется. Улыбка

Аватар пользователя alex_root

Re: Cedega4.0-1, error=21

Неделя без инета. Было время подумать. На 101 комбинации вышло Катается от смеха

RSS-материал