Bug 927

Summary: регрессия: emule перестал работать с 1.0.8, хотя нормально работает в 1.0.7
Product: WINE@Etersoft Reporter: Peter <volkov.peter>
Component: ОбщееAssignee: Анатолий Лютин <vostok>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: lav, vostok
Version: 1.0.8   
Target Milestone: ---   
Hardware: PC   
OS: Gentoo   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 713    
Bug Blocks: 584    
Attachments: emule.debug.log

Description Peter 2007-12-10 12:00:39 MSK
Доброе время.

emule перестал работать. Сообщение об ошибке:

wine: Unhandled page fault on read access to 0x0000291c at address 0x7eb6d916 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x0000291c in 32-bit code (0x7eb6d916).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7eb6d916 ESP:0033e70c EBP:0033e734 EFLAGS:00210202(   - 00      - -RI1)
 EAX:0000291a EBX:7ebd2ff4 ECX:00da0b08 EDX:00000010
 ESI:00000410 EDI:001ca0a0
Stack dump:
0x0033e70c:  001c7f08 00110000 00000002 00000030
0x0033e71c:  0033e76c 7ef829c6 00110014 7ebd2ff4
0x0033e72c:  00000410 7ebd2ff4 0033e784 7eb7254a
0x0033e73c:  00110000 00000000 00000000 009aec10
0x0033e74c:  00d60014 7ef74961 001ca0a8 001ca0a0
0x0033e75c:  001ca048 7ef7432f 00d60014 0000291a
Backtrace:
=>1 0x7eb6d916 in user32 (+0x5d916) (0x0033e734)
  2 0x7eb7254a in user32 (+0x6254a) (0x0033e784)
  3 0x7eb72790 InsertMenuW+0x60() in user32 (0x0033e7c4)
  4 0x7eb728b0 AppendMenuW+0x40() in user32 (0x0033e7e4)
  5 0x0051a0eb in emule (+0x11a0eb) (0x00da0af0)
  6 0x00090025 (0x00300032)
  7 0x00000000 (0x00000000)
0x7eb6d916: cmpw        $0x554d,0x2(%eax)
Modules:
Module  Address                 Debug info      Name (102 modules)
PE        400000-  b34000       Export          emule
ELF     7bf00000-7bf04000       Deferred        <wine-loader>
ELF     7cf90000-7cfb0000       Deferred        libjpeg.so.62
ELF     7cfcb000-7cfe0000       Deferred        icmp<elf>
  \-PE  7cfd0000-7cfe0000       \               icmp
ELF     7d202000-7d249000       Deferred        riched20<elf>
  \-PE  7d210000-7d249000       \               riched20
ELF     7d294000-7d2a6000       Deferred        libresolv.so.2
ELF     7d2a6000-7d2ac000       Deferred        libnss_dns.so.2
ELF     7d2b7000-7d2e5000       Deferred        ws2_32<elf>
  \-PE  7d2c0000-7d2e5000       \               ws2_32
ELF     7d2e5000-7d321000       Deferred        rsaenh<elf>
  \-PE  7d2f0000-7d321000       \               rsaenh
ELF     7d321000-7d370000       Deferred        libgcrypt.so.11
ELF     7d370000-7d3e0000       Deferred        libgnutls.so.13
ELF     7d3e0000-7d410000       Deferred        libcups.so.2
ELF     7d416000-7d42b000       Deferred        msimg32<elf>
  \-PE  7d420000-7d42b000       \               msimg32
ELF     7d42b000-7d4e3000       Deferred        libasound.so.2
ELF     7d4e6000-7d4f7000       Deferred        libtasn1.so.3
ELF     7d4f7000-7d50d000       Deferred        midimap<elf>
  \-PE  7d500000-7d50d000       \               midimap
ELF     7d50d000-7d535000       Deferred        msacm32<elf>
  \-PE  7d520000-7d535000       \               msacm32
ELF     7d562000-7d567000       Deferred        libgpg-error.so.0
ELF     7d61c000-7d64f000       Deferred        uxtheme<elf>
  \-PE  7d620000-7d64f000       \               uxtheme
ELF     7d64f000-7d659000       Deferred        libxcursor.so.1
ELF     7d659000-7d677000       Deferred        imm32<elf>
  \-PE  7d660000-7d677000       \               imm32
ELF     7d677000-7d67b000       Deferred        libxcomposite.so.1
ELF     7d67b000-7d682000       Deferred        libxrandr.so.2
ELF     7d682000-7d686000       Deferred        libxinerama.so.1
ELF     7d686000-7d69f000       Deferred        msacm32<elf>
  \-PE  7d690000-7d69f000       \               msacm32
ELF     7dd81000-7dda3000       Deferred        libexpat.so.1
ELF     7dda3000-7dff9000       Deferred        r200_dri.so
ELF     7dff9000-7e004000       Deferred        libdrm.so.2
ELF     7e004000-7e00a000       Deferred        libxfixes.so.3
ELF     7e00a000-7e00e000       Deferred        libxdamage.so.1
ELF     7e00e000-7e07f000       Deferred        libgl.so.1
ELF     7e07f000-7e085000       Deferred        libxdmcp.so.6
ELF     7e085000-7e089000       Deferred        libxau.so.6
ELF     7e089000-7e0a0000       Deferred        libice.so.6
ELF     7e0a0000-7e190000       Deferred        libx11.so.6
ELF     7e190000-7e19f000       Deferred        libxext.so.6
ELF     7e19f000-7e1a8000       Deferred        libsm.so.6
ELF     7e1a9000-7e1b3000       Deferred        libxrender.so.1
ELF     7e1c3000-7e256000       Deferred        winex11<elf>
  \-PE  7e1d0000-7e256000       \               winex11
ELF     7e2aa000-7e3ca000       Deferred        libxml2.so.2
ELF     7e3ca000-7e3f6000       Deferred        libfontconfig.so.1
ELF     7e3f6000-7e409000       Deferred        libz.so.1
ELF     7e409000-7e488000       Deferred        libfreetype.so.6
ELF     7e48b000-7e491000       Deferred        libxxf86vm.so.1
ELF     7e4a3000-7e4d9000       Deferred        winspool<elf>
  \-PE  7e4b0000-7e4d9000       \               winspool
ELF     7e4d9000-7e4fb000       Deferred        mpr<elf>
  \-PE  7e4e0000-7e4fb000       \               mpr
ELF     7e4fb000-7e547000       Deferred        wininet<elf>
  \-PE  7e510000-7e547000       \               wininet
ELF     7e547000-7e583000       Deferred        urlmon<elf>
  \-PE  7e550000-7e583000       \               urlmon
ELF     7e583000-7e624000       Deferred        oleaut32<elf>
  \-PE  7e5a0000-7e624000       \               oleaut32
ELF     7e624000-7e643000       Deferred        iphlpapi<elf>
  \-PE  7e630000-7e643000       \               iphlpapi
ELF     7e643000-7e69f000       Deferred        rpcrt4<elf>
  \-PE  7e650000-7e69f000       \               rpcrt4
ELF     7e69f000-7e740000       Deferred        ole32<elf>
  \-PE  7e6b0000-7e740000       \               ole32
ELF     7e740000-7e7a6000       Deferred        crypt32<elf>
  \-PE  7e750000-7e7a6000       \               crypt32
ELF     7e7a6000-7e835000       Deferred        winmm<elf>
  \-PE  7e7b0000-7e835000       \               winmm
ELF     7e835000-7e8f6000       Deferred        comctl32<elf>
  \-PE  7e840000-7e8f6000       \               comctl32
ELF     7e8f6000-7e94f000       Deferred        shlwapi<elf>
  \-PE  7e900000-7e94f000       \               shlwapi
ELF     7e94f000-7ea52000       Deferred        shell32<elf>
  \-PE  7e960000-7ea52000       \               shell32
ELF     7ea52000-7eaeb000       Deferred        gdi32<elf>
  \-PE  7ea60000-7eaeb000       \               gdi32
ELF     7eaeb000-7ec28000       Export          user32<elf>
  \-PE  7eb10000-7ec28000       \               user32
ELF     7ec28000-7ec74000       Deferred        advapi32<elf>
  \-PE  7ec30000-7ec74000       \               advapi32
ELF     7ec74000-7ec78000       Deferred        koi8-r.so
ELF     7edb7000-7eee0000       Deferred        kernel32<elf>
  \-PE  7edd0000-7eee0000       \               kernel32
ELF     7eee0000-7eeea000       Deferred        libnss_files.so.2
ELF     7eeea000-7ef01000       Deferred        libnsl.so.1
ELF     7ef01000-7ef26000       Deferred        libm.so.6
ELF     7ef41000-7f000000       Deferred        ntdll<elf>
  \-PE  7ef50000-7f000000       \               ntdll
ELF     b7ca0000-b7caa000       Deferred        libnss_nis.so.2
ELF     b7cab000-b7caf000       Deferred        libdl.so.2
ELF     b7caf000-b7de0000       Deferred        libc.so.6
ELF     b7de0000-b7df7000       Deferred        libpthread.so.0
ELF     b7df8000-b7e00000       Deferred        libnss_compat.so.2
ELF     b7e12000-b7f27000       Deferred        libwine.so.1
ELF     b7f28000-b7f44000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000a
        0000000c    0
        0000000b    0
00000008 (D) D:\eMule\emule.exe
        0000000e    0
        0000000d    0
        00000009    0 <==
Backtrace:
=>1 0x7eb6d916 in user32 (+0x5d916) (0x0033e734)
  2 0x7eb7254a in user32 (+0x6254a) (0x0033e784)
  3 0x7eb72790 InsertMenuW+0x60() in user32 (0x0033e7c4)
  4 0x7eb728b0 AppendMenuW+0x40() in user32 (0x0033e7e4)
  5 0x0051a0eb in emule (+0x11a0eb) (0x00da0af0)
  6 0x00090025 (0x00300032)
  7 0x00000000 (0x00000000)

Если установить предыдущую версию - 1.0.7, то всё работает. wine-etersoft-public собран из исходников, выложенных у вас на сайте. Если нужна любая дополнительная информация - спрашивайте )
Comment 1 Vitaly Lipatov 2007-12-15 19:57:46 MSK
Вы не могли бы собрать wine с ключом
configure --enable-debug
Это помогло бы увидеть конкретное место падения...
Comment 2 Peter 2007-12-20 13:37:18 MSK
Created attachment 226 [details]
emule.debug.log

Ок. Вот Backtrace:
=>1 0x7ed55d36 MENU_GetMenu+0x16(hMenu=0x291a) [/var/tmp/portage/app-emulation/wine-etersoft-public-1.0.8.20071130/work/wine-20071130/dlls/user32/menu.c:305] in user32 (0x0033e724)
  2 0x7ed5a6cd MENU_SetItemData+0x12d(item=<register EDI not in topmost frame>, flags=<register ESI not in topmost frame>, id=0x291a, str=0xda78d8) [/var/tmp/portage/app-emulation/wine-etersoft-public-1.0.8.20071130/work/wine-20071130/dlls/user32/menu.c:2081] in user32 (0x0033e774)
  3 0x7ed5a900 InsertMenuW+0x60(hMenu=0x1d2938, pos=0xffffffff, flags=<register EDI not in topmost frame>, id=0x291a, str=0xda78d8) [/var/tmp/portage/app-emulation/wine-etersoft-public-1.0.8.20071130/work/wine-20071130/dlls/user32/menu.c:3810] in user32 (0x0033e7b4)
  4 0x7ed5aa1d AppendMenuW+0x3d(hMenu=0x1d2938, flags=0x10, id=0x291a, data=0xda78d8) [/var/tmp/portage/app-emulation/wine-etersoft-public-1.0.8.20071130/work/wine-20071130/dlls/user32/menu.c:3862] in user32 (0x0033e7d4)
  5 0x0051a0eb in emule (+0x11a0eb) (0x00da78d8)
  6 0x00090025 (0x00300032)
  7 0x00000000 (0x00000000)

Остальной вывод в приложении.
Comment 3 Анатолий Лютин 2008-01-17 14:57:16 MSK
Ошибка воспроизводится только в Win Nt, в 98 работает без ошибок.
Comment 4 Анатолий Лютин 2008-01-17 15:15:40 MSK
Ошибка появилась из-за моего патча, изменяющий способ выделения хэнлов под меню.
Comment 5 Анатолий Лютин 2008-01-17 15:59:39 MSK
Закоммител патч и проверил. Не падает.