Erro ao executar programa via Wine

1. Erro ao executar programa via Wine

Fabio Carrion
Fabio_Carrion

(usa Ubuntu)

Enviado em 01/10/2008 - 21:43h

Boa noite amigos,

Não sou programador,por isso peço ajuda ao amigos que certamente entendem muito bem do assunto para resolver um problema, ao executar um programa de terceiros no wine está gerando as informações que colocarei abaixo, aparentemente não seria problema de compatibilidade com wine, por isso estou postando aqui nesta comunidade, não precisa ser uma solução qualquer ideia é muito bem vinda para que eu possa solucionar este problema .
O programa quando executado fora do terminal não gera erro simplesmente não abre.

Desde já agradeço.

Informação no terminal :

wine: Unhandled page fault on read access to 0x00000085 at address 0x7eddad4a (thread 0028), starting debugger...
Unhandled exception: page fault on read access to 0x00000085 in 32-bit code (0x7eddad4a).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:7eddad4a ESP:0032df40 EBP:0032e208 EFLAGS:00210202( - 00 - -RI1)
EAX:00000001 EBX:7ee08ccc ECX:7ee28b60 EDX:00000001
ESI:000000b6 EDI:0003002c
Stack dump:
0x0032df40: 0003002c 0003002c 00000000 00000000
0x0032df50: 0032e1c8 00000000 b7dc6a59 0032e004
0x0032df60: 00000000 0032e074 b7dc6a59 b7defed6
0x0032df70: 0032dfd0 b7f33534 00000002 00000000
0x0032df80: 90000002 00000000 00000000 0032e1c8
0x0032df90: b7cd7d91 0032e0dc 0032e1d8 00000020
Backtrace:
=>1 0x7eddad4a in user32 (+0xaad4a) (0x0032e208)
2 0x7eddba6d CreateWindowExA+0xbd() in user32 (0x0032e468)
3 0x10d06723 in pbrtf050 (+0x6723) (0x7eddb9b0)
4 0x0254ec81 (0x56e58955)
0x7eddad4a: testb $0x2,0x84(%eax)
Modules:
Module Address Debug info Name (121 modules)
PE 390000- 3b4000 Deferred pbtyp050
PE 400000- 40d000 Deferred tributos
PE 630000- 79b000 Deferred tributos
PE ad0000- b6c000 Deferred global01
PE b80000- c43000 Deferred tribobj
PE c70000- d6a000 Deferred menugen
PE d90000- e05000 Deferred global
PE e30000- e41000 Deferred betha32
PE 1270000- 12ff000 Deferred arqjob
PE 1320000- 1466000 Deferred global02
PE 1490000- 14bf000 Deferred conexao
PE 14e0000- 14fe000 Deferred logapp
PE 1990000- 19c4000 Deferred liberlic
PE 19f0000- 1a3e000 Deferred libera
PE 4c00000- 4c83000 Deferred dbodbc7
PE 10200000-10255000 Deferred msvcrt40
PE 10b00000-10b7d000 Deferred pbrte050
PE 10d00000-10da5000 Export pbrtf050
PE 10f00000-10f5a000 Deferred pbbgr050
PE 11100000-1119c000 Deferred pbshr050
PE 11500000-11622000 Deferred pbdwe050
PE 11900000-1195b000 Deferred pbroi050
PE 14f00000-14f47000 Deferred pbodb050
PE 1f490000-1f4c5000 Deferred odbc32
PE 1f4d0000-1f4e9000 Deferred odbccp32
PE 1f5d0000-1f5e5000 Deferred odbcint
PE 65000000-65064000 Deferred dblgen7
PE 65100000-6511b000 Deferred dbl50t
ELF 7b800000-7b93c000 Deferred kernel32<elf>
\-PE 7b820000-7b93c000 \ kernel32
ELF 7bc00000-7bca6000 Deferred ntdll<elf>
\-PE 7bc10000-7bca6000 \ ntdll
ELF 7bf00000-7bf03000 Deferred <wine-loader>
ELF 7de5f000-7de79000 Deferred wsock32<elf>
\-PE 7de60000-7de79000 \ wsock32
ELF 7df8a000-7dfb6000 Deferred ws2_32<elf>
\-PE 7df90000-7dfb6000 \ ws2_32
ELF 7dfb6000-7dfdc000 Deferred netapi32<elf>
\-PE 7dfc0000-7dfdc000 \ netapi32
ELF 7dfdc000-7e046000 Deferred msvcrt<elf>
\-PE 7dff0000-7e046000 \ msvcrt
ELF 7e046000-7e093000 Deferred libgcrypt.so.11
ELF 7e093000-7e0a3000 Deferred libtasn1.so.3
ELF 7e0a3000-7e0ab000 Deferred libkrb5support.so.0
ELF 7e0ab000-7e0dd000 Deferred libcrypt.so.1
ELF 7e0dd000-7e153000 Deferred libgnutls.so.13
ELF 7e153000-7e176000 Deferred libk5crypto.so.3
ELF 7e176000-7e203000 Deferred libkrb5.so.3
ELF 7e203000-7e22c000 Deferred libgssapi_krb5.so.2
ELF 7e22c000-7e25f000 Deferred libcups.so.2
ELF 7e2c1000-7e2f4000 Deferred uxtheme<elf>
\-PE 7e2d0000-7e2f4000 \ uxtheme
ELF 7e2f4000-7e2fd000 Deferred libxcursor.so.1
ELF 7e2fd000-7e302000 Deferred libxfixes.so.3
ELF 7e302000-7e305000 Deferred libxcomposite.so.1
ELF 7e305000-7e30b000 Deferred libxrandr.so.2
ELF 7e30b000-7e313000 Deferred libxrender.so.1
ELF 7e313000-7e318000 Deferred libxxf86vm.so.1
ELF 7e318000-7e31b000 Deferred libxinerama.so.1
ELF 7e31b000-7e33b000 Deferred imm32<elf>
\-PE 7e320000-7e33b000 \ imm32
ELF 7e33b000-7e340000 Deferred libxdmcp.so.6
ELF 7e340000-7e358000 Deferred libxcb.so.1
ELF 7e358000-7e35b000 Deferred libxau.so.6
ELF 7e35b000-7e442000 Deferred libx11.so.6
ELF 7e442000-7e450000 Deferred libxext.so.6
ELF 7e450000-7e468000 Deferred libice.so.6
ELF 7e468000-7e470000 Deferred libsm.so.6
ELF 7e470000-7e474000 Deferred libgpg-error.so.0
ELF 7e474000-7e477000 Deferred libkeyutils.so.1
ELF 7e481000-7e484000 Deferred libcom_err.so.2
ELF 7e486000-7e51e000 Deferred winex11<elf>
\-PE 7e490000-7e51e000 \ winex11
ELF 7e53d000-7e55e000 Deferred libexpat.so.1
ELF 7e55e000-7e588000 Deferred libfontconfig.so.1
ELF 7e588000-7e59d000 Deferred libz.so.1
ELF 7e59d000-7e60a000 Deferred libfreetype.so.6
ELF 7e60a000-7e60c000 Deferred libxcb-xlib.so.0
ELF 7e620000-7e648000 Deferred oledlg<elf>
\-PE 7e630000-7e648000 \ oledlg
ELF 7e648000-7e65c000 Deferred lz32<elf>
\-PE 7e650000-7e65c000 \ lz32
ELF 7e65c000-7e675000 Deferred version<elf>
\-PE 7e660000-7e675000 \ version
ELF 7e675000-7e75c000 Deferred oleaut32<elf>
\-PE 7e690000-7e75c000 \ oleaut32
ELF 7e75c000-7e76f000 Deferred libresolv.so.2
ELF 7e772000-7e785000 Deferred olepro32<elf>
\-PE 7e780000-7e785000 \ olepro32
ELF 7e785000-7e7a4000 Deferred iphlpapi<elf>
\-PE 7e790000-7e7a4000 \ iphlpapi
ELF 7e7a4000-7e809000 Deferred rpcrt4<elf>
\-PE 7e7b0000-7e809000 \ rpcrt4
ELF 7e809000-7e912000 Deferred ole32<elf>
\-PE 7e820000-7e912000 \ ole32
ELF 7e912000-7e947000 Deferred winspool<elf>
\-PE 7e920000-7e947000 \ winspool
ELF 7e947000-7ea08000 Deferred comctl32<elf>
\-PE 7e950000-7ea08000 \ comctl32
ELF 7ea08000-7ea62000 Deferred shlwapi<elf>
\-PE 7ea20000-7ea62000 \ shlwapi
ELF 7ea62000-7eb7c000 Deferred shell32<elf>
\-PE 7ea70000-7eb7c000 \ shell32
ELF 7eb7c000-7ec28000 Deferred comdlg32<elf>
\-PE 7eb80000-7ec28000 \ comdlg32
ELF 7ec28000-7ec7c000 Deferred advapi32<elf>
\-PE 7ec30000-7ec7c000 \ advapi32
ELF 7ec7c000-7ed1a000 Deferred gdi32<elf>
\-PE 7ec90000-7ed1a000 \ gdi32
ELF 7ed1a000-7ee63000 Export user32<elf>
\-PE 7ed30000-7ee63000 \ user32
ELF 7efa2000-7efad000 Deferred libnss_files.so.2
ELF 7efad000-7efc5000 Deferred libnsl.so.1
ELF 7efc5000-7efea000 Deferred libm.so.6
ELF 7efed000-7eff7000 Deferred libnss_nis.so.2
ELF 7eff7000-7f000000 Deferred libnss_compat.so.2
ELF b7c68000-b7c6c000 Deferred libdl.so.2
ELF b7c6c000-b7dbb000 Deferred libc.so.6
ELF b7dbc000-b7dd4000 Deferred libpthread.so.0
ELF b7dea000-b7f20000 Deferred libwine.so.1
ELF b7f22000-b7f3e000 Deferred ld-linux.so.2
Threads:
process tid prio (all id:s are in hex)
00000008
00000026 0
00000025 0
00000024 0
00000023 -1
00000022 0
00000021 -1
00000020 0
00000009 0
0000000c
00000012 0
0000000e 0
0000000d 0
0000000f
00000015 0
00000014 0
00000011 0
00000010 0
0000001e
0000001f 0
00000027 (D) C:\Tributos\tributos.exe
0000002a 0
00000029 0
00000028 0 <==
Backtrace:
=>1 0x7eddad4a in user32 (+0xaad4a) (0x0032e208)
2 0x7eddba6d CreateWindowExA+0xbd() in user32 (0x0032e468)
3 0x10d06723 in pbrtf050 (




  


2. cara

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 02/10/2008 - 08:15h

isso é tipico de programa que ainda NÃO FUNCIONA com wine.
Pode ser tbem alguma dll especifica do programa que precise de alguma configuração especial.
Sem saber o programa (tributos.exe????) fica dificil...


3. Re: Erro ao executar programa via Wine

Fabio Carrion
Fabio_Carrion

(usa Ubuntu)

Enviado em 02/10/2008 - 13:01h

stremer,

Obrigado, era isso mesmo que precisava saber, onde poderia estar o erro.
O tributos.exe é um sistema de terceiros ao qual não tenho acesso aos fontes,ele é software de gestão publica, como aqui em casa só uso linux queria fazer funcionar só não estava entendo o erro.
O interessante que outras ferramentas que fazem parte do pacote estão funcionando de maneira correta, mas isso terei que ver e comparar com o pessoal que desenvolve.
Cara valeu mesmo, se tiver outra idéia manda aí, to precisando escutar quem entende da coisa.
mais uma vez obrigado.

Fabito


4. Re: Erro ao executar programa via Wine

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 02/10/2008 - 15:02h

hipótese às cegas, baseando-me apenas no debug report postado - já que nao tenho acesso ao tributos.exe e menos ainda ao disassembly do mesmo.

Unhandled page fault on read access to 0x00000085 at address 0x7eddad4a
EIP:7eddad4a <- posição do código que causou a exceção
0x7eddad4a: testb $0x2,0x84(%eax) <- instrução em eip

testb testa o valor do operando 2 assumindo comprimento 1 (byte)
0x84(%eax) = eax+84
do dump:
EAX:00000001 (0x01) <- eax já contendo o valor 0x01
então eax+0x84 = 0x01 + 0x84 = 0x85
daí o problema ser na posição 0x00000085
bem, testb normalmente (mas não necessariamente) é usado em tratamento de strings (que são uma série de char - 1 byte (ansi))
em uma posição mais adiante no código, o dump relata:
0x7eddba6d CreateWindowExA+0xbd() in user32 (0x0032e468)
muito provavelmente essa string será passada como argumento para CreateWindowExA, e será na posição 0xBD (a contar dos argumentos, será em 0xBD-0x08 (181d)) que o "byte problemático" irá se fixar. será ou no argumento lpClassName ou em lpWindowName, que são strings (os outros argumentos são dwords)

problema no programa (tributo.exe)? não necessariamente, visto que ele funciona normalmente no windows. porém, lembrando que o wine não está completamente implementado, pode estar detectando uma pequena falha no tratamento de ponteiros no programa - que no windows não ocorre porque o mecanismo de tratamento de exceções (incluindo o seh) "passa por cima".
conclusão: o fato do wine não estar totalmente implementado pode ser útil para detectar pequenos pontos fracos em alguns programas. mas reitero que pode não ser o caso do tributos.exe, e sim problema do wine mesmo (e é bem provável)


5. Re: Erro ao executar programa via Wine

Fabio Carrion
Fabio_Carrion

(usa Ubuntu)

Enviado em 02/10/2008 - 21:43h

Obrigado mslomp, irei ver com o pessoal do Wine o que dá para ser feito e passar para do denvolvimento o que você citou para ver porque outros softwares do mesmo pacote e implementados com a mesma ferramenta funcionaram corretamente no Wine, acho que verificando as diferenças poderá ser feita a compatibilidade.
Obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts