kernel32.dll вино |NOOB ВНИМАНИЕ |

Я пытаюсь запустить программу через Wine. Он возвращает ошибку, относящуюся к KERNEL32.dll.WakeAllConditionVariable. Есть также большие отладочные блоки, которые я недостаточно опытен, чтобы читать. Я пробовал Google, но похоже, что в базе данных Wine нечего предложить. БЫСТРОЕ ЗАМЕЧАНИЕ: я попытался запустить его в чистом 32-битном винном префиксе, но безуспешно. В любом случае, мне нужно, чтобы он все равно работал в этом wineprefix. Без лишних слов, вот вся необработанная информация, которую я могу предложить.

    yarden@Yarden-Desktop:~/.Skyrim/drive_c/users/yarden/Downloads/LOOT.0.9.0-0-g44a0d85.32.bit$ wine LOOT.exe 
    fixme:heap:HeapSetInformation 0x110000 0 0x33fd3c 4
    fixme:advapi:EventRegister {5eec90ab-c022-44b2-a5dd-fd716a222a15}, 0x401123, 0x6b5c40, 0x6b5c58
    fixme:thread:AcquireSRWLockExclusive (0x6c6dac): stub
    fixme:thread:ReleaseSRWLockExclusive (0x6c6dac): stub
    fixme:thread:AcquireSRWLockExclusive (0x6c6dac): stub
    fixme:thread:ReleaseSRWLockExclusive (0x6c6dac): stub
    fixme:thread:AcquireSRWLockExclusive (0x6c6dac): stub
    fixme:thread:ReleaseSRWLockExclusive (0x6c6dac): stub
    wine: Call from 0x7bc4cf69 to unimplemented function KERNEL32.dll.WakeAllConditionVariable, aborting
    wine: Unimplemented function KERNEL32.dll.WakeAllConditionVariable called at address 0x7bc4cf69 (thread 0022), starting debugger...

Также есть вывод отладчика, вот и все.

Unhandled exception: unimplemented function KERNEL32.dll.WakeAllConditionVariable called in 32-bit code (0x7bc4cf69).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7bc4cf69 ESP:0033f4e4 EBP:0033f558 EFLAGS:00200216(   - --  I   -A-P- )
 EAX:006b385e EBX:7bcbe000 ECX:0033f56c EDX:7bcd8f40
 ESI:0033f4fc EDI:006c6d68
Stack dump:
0x0033f4e4:  7ba53648 0033f528 7bc4cf43 00000000
0x0033f4f4:  7ba53648 7b88d444 80000100 00000001
0x0033f504:  00000000 7bc4cf69 00000002 006b3438
0x0033f514:  006b385e f7581feb 7b8ae000 0033f590
0x0033f524:  006c6d68 0033f558 7b872a15 00000000
0x0033f534:  7ba53648 7b88d444 7b880bac 006c6dac
Backtrace:
=>0 0x7bc4cf69 call_dll_entry_point+0x449() in ntdll (0x0033f558)
  1 0x0022000f (0x0033f584)
  2 0x00553ef0 in loot (+0x153eef) (0x0033f5a0)
  3 0x00554024 in loot (+0x154023) (0x0033f5e4)
  4 0x0053ae11 in loot (+0x13ae10) (0x0033f620)
  5 0x0053ac68 in loot (+0x13ac67) (0x0033f63c)
  6 0x0053ad05 in loot (+0x13ad04) (0x0033f688)
  7 0x0051f9ac in loot (+0x11f9ab) (0x0033fc4c)
  8 0x0052c051 in loot (+0x12c050) (0x0033fc74)
  9 0x0051b56c in loot (+0x11b56b) (0x0033fc98)
  10 0x004ff278 in loot (+0xff277) (0x0033fdf4)
  11 0x005e79f3 in loot (+0x1e79f2) (0x0033fe40)
  12 0x7b85a3fc call_process_entry+0xb() in kernel32 (0x0033fe58)
  13 0x7b85b3ea ExitProcess+0xfe9() in kernel32 (0x0033fe88)
  14 0x7bc7703c call_thread_func_wrapper+0xb() in ntdll (0x0033fea8)
  15 0x7bc79e5d call_thread_func+0xfc() in ntdll (0x0033ffa8)
  16 0x7bc7701a RtlRaiseException+0x21() in ntdll (0x0033ffc8)
  17 0x7bc4d277 call_dll_entry_point+0x756() in ntdll (0x0033ffe8)
  18 0xf758633d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  19 0xf75864a0 wine_switch_to_stack+0x1f() in libwine.so.1 (0xffea72a8)
  20 0x7bc528d7 LdrInitializeThunk+0x336() in ntdll (0xffea7308)
  21 0x7b861029 __wine_kernel_init+0x888() in kernel32 (0xffea8478)
  22 0x7bc52e33 __wine_process_init+0x152() in ntdll (0xffea84e8)
  23 0xf7583dff wine_init+0x30e() in libwine.so.1 (0xffea8548)
  24 0x7bf00d42 main+0x81() in <wine-loader> (0xffea8998)
  25 0xf7397637 __libc_start_main+0xf6() in libc.so.6 (0x00000000)
0x7bc4cf69 call_dll_entry_point+0x449 in ntdll: addl    $12,%esp
Modules:
Module  Address         Debug info  Name (129 modules)
PE    400000-  6ee000   Export          loot
PE  10000000-12f89000   Deferred        libcef
ELF 7b800000-7ba54000   Dwarf           kernel32<elf>
  \-PE  7b810000-7ba54000   \               kernel32
ELF 7bc00000-7bcda000   Dwarf           ntdll<elf>
  \-PE  7bc10000-7bcda000   \               ntdll
ELF 7bf00000-7bf04000   Dwarf           <wine-loader>
ELF 7d007000-7d01d000   Deferred        libgpg-error.so.0
ELF 7d01d000-7d092000   Deferred        libpcre.so.3
ELF 7d092000-7d0af000   Deferred        libgcc_s.so.1
ELF 7d0af000-7d15e000   Deferred        libgcrypt.so.20
ELF 7d15e000-7d184000   Deferred        liblzma.so.5
ELF 7d184000-7d18d000   Deferred        librt.so.1
ELF 7d18d000-7d1b3000   Deferred        libselinux.so.1
ELF 7d1b3000-7d241000   Deferred        libsystemd.so.0
ELF 7d241000-7d24a000   Deferred        libffi.so.6
ELF 7d24a000-7d263000   Deferred        libresolv.so.2
ELF 7d263000-7d268000   Deferred        libkeyutils.so.1
ELF 7d268000-7d2c2000   Deferred        libdbus-1.so.3
ELF 7d2c2000-7d34e000   Deferred        libgmp.so.10
ELF 7d34e000-7d383000   Deferred        libhogweed.so.4
ELF 7d383000-7d3bf000   Deferred        libnettle.so.6
ELF 7d3bf000-7d3d4000   Deferred        libtasn1.so.6
ELF 7d3d4000-7d408000   Deferred        libidn.so.11
ELF 7d408000-7d46a000   Deferred        libp11-kit.so.0
ELF 7d46a000-7d477000   Deferred        libkrb5support.so.0
ELF 7d477000-7d4a8000   Deferred        libk5crypto.so.3
ELF 7d4a8000-7d57f000   Deferred        libkrb5.so.3
ELF 7d57f000-7d6d7000   Deferred        libgnutls.so.30
ELF 7d6d7000-7d729000   Deferred        libgssapi_krb5.so.2
ELF 7d729000-7d7b0000   Deferred        libcups.so.2
ELF 7d7da000-7d80f000   Deferred        uxtheme<elf>
  \-PE  7d7e0000-7d80f000   \               uxtheme
ELF 7d80f000-7d816000   Deferred        libxfixes.so.3
ELF 7d816000-7d821000   Deferred        libxcursor.so.1
ELF 7d821000-7d834000   Deferred        libxi.so.6
ELF 7d834000-7d838000   Deferred        libxcomposite.so.1
ELF 7d838000-7d845000   Deferred        libxrandr.so.2
ELF 7d845000-7d851000   Deferred        libxrender.so.1
ELF 7d851000-7d858000   Deferred        libxxf86vm.so.1
ELF 7d858000-7d85c000   Deferred        libxinerama.so.1
ELF 7d85c000-7d863000   Deferred        libxdmcp.so.6
ELF 7d863000-7d867000   Deferred        libxau.so.6
ELF 7d867000-7d88d000   Deferred        libxcb.so.1
ELF 7d88d000-7d9d8000   Deferred        libx11.so.6
ELF 7d9d8000-7d9ed000   Deferred        libxext.so.6
ELF 7d9ee000-7d9f3000   Deferred        libcom_err.so.2
ELF 7d9f3000-7da07000   Deferred        libavahi-client.so.3
ELF 7da07000-7da15000   Deferred        libavahi-common.so.3
ELF 7da17000-7daa4000   Deferred        winex11<elf>
  \-PE  7da20000-7daa4000   \               winex11
ELF 7dc2a000-7dc53000   Deferred        libexpat.so.1
ELF 7dc53000-7dc9c000   Deferred        libfontconfig.so.1
ELF 7dcbe000-7dce9000   Deferred        libpng12.so.0
ELF 7dce9000-7dd99000   Deferred        libfreetype.so.6
ELF 7dd99000-7ddbc000   Deferred        libtinfo.so.5
ELF 7ddbc000-7dde2000   Deferred        libncurses.so.5
ELF 7de0c000-7de30000   Deferred        imm32<elf>
  \-PE  7de10000-7de30000   \               imm32
ELF 7de30000-7de55000   Deferred        iphlpapi<elf>
  \-PE  7de40000-7de55000   \               iphlpapi
ELF 7de55000-7de81000   Deferred        netapi32<elf>
  \-PE  7de60000-7de81000   \               netapi32
ELF 7de81000-7deb1000   Deferred        secur32<elf>
  \-PE  7de90000-7deb1000   \               secur32
ELF 7deb1000-7dedb000   Deferred        msacm32<elf>
  \-PE  7dec0000-7dedb000   \               msacm32
ELF 7dedb000-7df93000   Deferred        winmm<elf>
  \-PE  7dee0000-7df93000   \               winmm
ELF 7df93000-7dfb5000   Deferred        oleacc<elf>
  \-PE  7dfa0000-7dfb5000   \               oleacc
ELF 7dfb5000-7dfcd000   Deferred        wtsapi32<elf>
  \-PE  7dfc0000-7dfcd000   \               wtsapi32
ELF 7dfcd000-7dff4000   Deferred        mpr<elf>
  \-PE  7dfd0000-7dff4000   \               mpr
ELF 7dff4000-7e00f000   Deferred        libz.so.1
ELF 7e024000-7e039000   Deferred        dhcpcsvc<elf>
  \-PE  7e030000-7e039000   \               dhcpcsvc
ELF 7e039000-7e0b0000   Deferred        wininet<elf>
  \-PE  7e040000-7e0b0000   \               wininet
ELF 7e0b0000-7e14c000   Deferred        urlmon<elf>
  \-PE  7e0c0000-7e14c000   \               urlmon
ELF 7e14c000-7e164000   Deferred        userenv<elf>
  \-PE  7e150000-7e164000   \               userenv
ELF 7e164000-7e291000   Deferred        oleaut32<elf>
  \-PE  7e180000-7e291000   \               oleaut32
ELF 7e291000-7e376000   Deferred        comdlg32<elf>
  \-PE  7e2a0000-7e376000   \               comdlg32
ELF 7e376000-7e3b2000   Deferred        winspool<elf>
  \-PE  7e380000-7e3b2000   \               winspool
ELF 7e3b2000-7e3c6000   Deferred        psapi<elf>
  \-PE  7e3c0000-7e3c6000   \               psapi
ELF 7e3c6000-7e407000   Deferred        usp10<elf>
  \-PE  7e3d0000-7e407000   \               usp10
ELF 7e407000-7e4d4000   Deferred        crypt32<elf>
  \-PE  7e410000-7e4d4000   \               crypt32
ELF 7e4d4000-7e50f000   Deferred        winhttp<elf>
  \-PE  7e4e0000-7e50f000   \               winhttp
ELF 7e50f000-7e543000   Deferred        ws2_32<elf>
  \-PE  7e520000-7e543000   \               ws2_32
ELF 7e543000-7e5bf000   Deferred        rpcrt4<elf>
  \-PE  7e550000-7e5bf000   \               rpcrt4
ELF 7e5bf000-7e6ee000   Deferred        ole32<elf>
  \-PE  7e5e0000-7e6ee000   \               ole32
ELF 7e6ee000-7e7e3000   Deferred        comctl32<elf>
  \-PE  7e700000-7e7e3000   \               comctl32
ELF 7e7e3000-7e859000   Deferred        shlwapi<elf>
  \-PE  7e7f0000-7e859000   \               shlwapi
ELF 7e859000-7ea82000   Deferred        shell32<elf>
  \-PE  7e870000-7ea82000   \               shell32
ELF 7ea82000-7eaee000   Deferred        advapi32<elf>
  \-PE  7ea90000-7eaee000   \               advapi32
ELF 7eaee000-7ec05000   Deferred        gdi32<elf>
  \-PE  7eb00000-7ec05000   \               gdi32
ELF 7ec05000-7ed53000   Deferred        user32<elf>
  \-PE  7ec20000-7ed53000   \               user32
ELF 7ef53000-7ef66000   Deferred        libnss_files.so.2
ELF 7ef66000-7ef81000   Deferred        libnsl.so.1
ELF 7ef81000-7efd6000   Deferred        libm.so.6
ELF 7efe7000-7f000000   Deferred        version<elf>
  \-PE  7eff0000-7f000000   \               version
ELF f737a000-f737f000   Deferred        libdl.so.2
ELF f737f000-f7535000   Dwarf           libc.so.6
ELF f7536000-f7553000   Deferred        libpthread.so.0
ELF f7553000-f7560000   Deferred        libnss_nis.so.2
ELF f7573000-f757d000   Deferred        libnss_compat.so.2
ELF f757d000-f7732000   Dwarf           libwine.so.1
ELF f7734000-f7759000   Deferred        ld-linux.so.2
ELF f775b000-f775c000   Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
    0000001e    0
    0000001d    0
    00000014    0
    00000010    0
    0000000f    0
00000012 winedevice.exe
    0000001c    0
    00000019    0
    00000017    0
    00000013    0
0000001a plugplay.exe
    00000020    0
    0000001f    0
    0000001b    0
00000018 ModOrganizer.exe
    00000041    0
    0000003c    0
    00000040    0
    00000033    0
    00000032    0
    00000034    0
    00000035    0
    0000002e    0
0000002c explorer.exe
    00000037    0
    00000036    0
00000021 (D) C:\users\yarden\Downloads\LOOT.0.9.0-0-g44a0d85.32.bit\LOOT.exe
    00000022    0 <==
System information:
    Wine build: wine-1.6.2
    Platform: i386 (WOW64)
    Host system: Linux
    Host version: 4.4.0-22-generic

Извините за отвратительное форматирование, я впервые пишу вопрос, и я не знаю, как отформатировать

2 ответа

Ваша программа пыталась вызвать KERNEL32.DLL функция называется WakeAllConditionVariable, Функция подробно описана здесь. Wine находится в стадии разработки, и не каждая функция реализована в каждой DLL.

Несмотря на то, что мои дни хакерских игр в Wine ушли в далекое прошлое, просматривая документацию по этой функции, кажется, что это не сложно реализовать. Лучше всего обратиться на форум разработчиков Wine и задать свой вопрос там. Я знаю, что если бы у меня уже была проверена база кода Wine и исправления ожидали отправки, был бы большой шанс, что я тоже внесу это исправление.

Кроме того, попробуйте загрузить последнюю версию Wine из исходного кода и скомпилировать ее. Возможно, кто-то уже реализовал эту функцию, но она еще не вошла в стабильную версию.

Отредактировано, чтобы добавить: разработчики Wine выбирают, какие функции реализовать, видя, какие функции фактически вызываются программами. Мне кажется весьма вероятным найти решение на форумах Wine.

Wine не поддерживает все приложения Windows. Вы пытались открыть файл.exe в моно? (Пакет-монодевел)

Другие вопросы по тегам