Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Xvfb, Wine kaatuu

Sivun loppuun

vesikuusi [05.03.2021 21:52:54]

#

Saan läjän outputtia wineltä minkä lopuksi wine kaatuu. Tämä ajetaan ilman oikeaa x11-istuntoa joten käytössä on Xvfb. En ole toistaiseksi onnistunut selvittämään, mistä tämä kaatuminen voi johtua. Olennaisilta vaikuttavat kohdat ovat

Application tried to create a window, but no driver could be loaded.

sekä

Fatal unknown exception (code=eedfade) raised

Tuo ajurin puuttumisen virhe voisi viitata siihen, että wine ei pääse kiinni Xvfb:n virtuaalinäyttöön.

Ehkä myös Xvfb:n antama 'Internal error', mutta tuskin. Itse virheviestin ja netistä löytämieni tietojen mukaan tuon ei pitäisi rikkoa mitään.

Loput lokista on viestini lopussa. Tämä komentosarja on käsittääkseni toiminut aikaisemmin. Nyt käytössä on Wine 6.3 (tosin Staging-version - mitä en tajua, koska olen asentanut vain 'wine'-paketin), aiemmin on tietysti ollut vanhempi versio. Löysin yhden lupaavan bugin, mutta se on korjattu ilmeisesti jo versioon 5.22; https://bugs.winehq.org/show_bug.cgi?id=48647 (tai https://bugs.winehq.org/show_bug.cgi?id=50084). Mutta en tiedä, ei tuo välttämättä liity mitenkään.

Sillä, ajetaanko nuo roottina vai ei, ei ole vaikutusta.

En ole suinkaan luovuttanut vianetsinnän osalta, mutta samalla tästä ei tunnu pääsevän oikein mihinkään. Huippua jos jollain olisi kokemusta tai ideoita tällaisesta!

Tässä ajamani komentosarja ja sen outputti.

# Xvfb :0 &
_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server

# Huom. tuo ensimmäinen tulosterivi on nähtvissä myös onnistuneen ajon lokissa (vanha löytämäni lokitiedosto).
# Se lähtee pois rootilla ajettaessa.
# Mutta tuo 'Internal error' ei lähde. Kummallakaan ei käsittääkseni ole loppupeleissä merkitystä.
# Xvfb jää kuitenkin päälle tämän lopuksi.

# export DISPLAY=:0
# wine /tmp/is.exe /VERYSILENT /SP- /SUPPRESSMSGBOXES /DIR="c:\\Program Files\\Ohjelma"

wine: created the configuration directory '/home/user/.wine'
002c:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
002c:fixme:winediag:LdrInitializeThunk wine-staging 6.3 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
0024:err:environ:run_wineboot boot event wait timed out
0024:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0034:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
003c:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
0048:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
002c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
002c:err:winediag:nodrv_CreateWindow The explorer process failed to start.
0048:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0048:err:winediag:nodrv_CreateWindow The explorer process failed to start.
0034:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0034:err:winediag:nodrv_CreateWindow The explorer process failed to start.
0034:err:ole:apartment_createwindowifneeded CreateWindow failed with error 183
0034:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
0034:err:ole:apartment_createwindowifneeded CreateWindow failed with error 14007
0034:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x800736b7
0034:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x800736b7
0034:err:ole:apartment_get_local_server_stream Failed: 0x800736b7
0034:err:ole:start_rpcss Failed to open RpcSs service
0024:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0024:err:winediag:nodrv_CreateWindow The explorer process failed to start.
0058:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
0058:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0058:err:winediag:nodrv_CreateWindow The explorer process failed to start.
0058:fixme:win:DisableProcessWindowsGhosting : stub
0058:fixme:graphics:ShutdownBlockReasonDestroy (00000000): stub
0058:fixme:graphics:ShutdownBlockReasonCreate (00000000, L"Installing"): stub
0058:err:seh:dispatch_exception Fatal unknown exception (code=eedfade) raised
0058:fixme:graphics:ShutdownBlockReasonDestroy (00000000): stub
0048:fixme:file:NtLockFile I/O completion on lock not implemented yet
0048:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0048:err:mscoree:LoadLibraryShim error reading registry key for installroot
0068:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
0048:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0048:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0070:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
0080:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
00a0:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
00a0:err:winediag:nodrv_CreateWindow The explorer process failed to start.

(wine:115): GLib-ERROR **: 04:41:26.219: GLib requires working CLOCK_MONOTONIC
00bc:err:seh:install_bpf Unexpected status 0xffffffff, errno 1.
wine: configuration in L"/home/user/.wine" has been updated.

carabia [06.03.2021 04:04:24]

#

Sorsaa kaivamalla (täällä), voi todeta, että glib pillastuu jos clock_gettime() epäonnistuu. tuo g_error makro myöskin myöskin keskeyttää ajon tahallisesti, trapilla tms. Onko tuossa käytössä 32-bittinen glib, ja mikä versio, jne. En nyt suoralta kädeltä ala enempää debuggaamaan, mutta tuossa on alku.

EDIT: Niin, ja kernelin versio olisi hyvä tietää kanssa.

vesikuusi [06.03.2021 18:06:18]

#

Kiitos vastauksesta.

Kerneli on 5.0.16. Voi olla hyvä tietää että tuo ajetaan Fedora 33 perustuvassa docker containerissa.

Voin tarkistaa glib-version myöhemmin ja palata siitä.

Oletko sitä mieltä, että syy liittyy tuohon glib-virheeseen? Se tulee kuitenkin noiden muiden fataalinoloisten virheiden jälkeen, ja itse asiassa jopa sekuntien viiveellä niistä.

Toki jos se on vakava errori niin täytyy sekin korjata.

Metabolix [06.03.2021 19:13:58]

#

Missä vaiheessa loki alkaa erota onnistuneen ajon lokitiedoista? Mikä järjestelmässä on muuttunut onnistuneen ajon jälkeen: pelkkä Wine vai kaikki muukin? Olisiko yksi ratkaisu se, että palaisit vanhaan versioon? Voisit sitten kokeilla eri osien päivittämistä yksi kerrallaan.

Fedoran dokumentaatiossa kerrotaan, että oletuspaketti on nimenomaan wine-staging. Fedoraan saa haettua myös muita versioita Winen ohjeiden mukaan.

vesikuusi [06.03.2021 20:20:40]

#

Kiitti vastauksesta.

Täytynee palata taaksepäin ja päivittää osa kerrallaan kuten sanoit. Onhan tuossa hypätty muutama jakelun versio ylöspäin välissä, joten useampi asia on muuttunut.

Vanha wine oli pari major-versiota vanhempi ja staging sekin.

Lokit eroavat moneltakin osin, mutta olennaista arvioisin olevan se, että onnistuneessa ajossa ei tule

Eikä joitain muitakaan virheilmoituksia.

Tie eteenpäin voi hyvinkin olla palata vanhempaan versioon ja lähteä siitä päivittämään.

vesikuusi [08.03.2021 00:06:20]

#

Winen downgrade stabiiliin 5-versioon auttoi (olisiko ollut 5.0.3).

Pudotin ensin koko jakelun versiota alaspäin ja kun löysin toimivan version niin katsoin siitä Wine-version. Se oli jokin 5-versio ja staging. Sitten palasin uuteen jakelun versioon ja downgradetin Winen lähimpään stabiiliin versioon siitä toimivasta.

(Testasin myös stabiililla 6-versiolla, mutta sillä ei toiminut.)

Täytyy vielä integroida tuo ratkaisu kokonaisuuteen, mutta näyttää siltä että ratkaisu on tiedossa.

Metabolix [09.03.2021 10:47:43]

#

Ongelma ansaitsisi kyllä lisää selvittelyä, koska ainakin tavallisessa Arch Linuxissa uusin Wine toimii Xvfb:llä (tai ainakaan ei näy mitään virhettä). Tutkimusta auttaisi jo se, että löytyisi tarkempi tieto, mikä on uusin toimiva Wine kohdallasi. Tämähän selviää noin 5 kokeilulla tutkittavaa väliä puolittamalla, kun kerran 5.0 toimii mutta 6.0 ei toimi.

vesikuusi [10.03.2021 19:14:49]

#

Olet oikeassa - en ollut vielä päivittänyt viimeistä tietoa tänne. Yritän tiivistää löydökseni tähän. Olen toistaiseksi keskeyttänyt tämän asian debuggaamisen, koska on muutenkin aika pöljää yrittää ajaa Winellä jotain GUI-applikaatiota siinä kontekstissa jossa sitä yritetään tässä ajaa. Hyöty onnistumisesta ei myöskään ole päätä huimaava.

6.3 Staging tosiaan heittää nuo postaamani errorit ja kaatuu.

5.0.3 ei toiminut sekään tuotannossa, vaan jumitti tiettyyn kohtaan. Xvfb:ltä ottamani näyttökaappauksen perusteella Wine avaa dialogin Monon asentamisesta. Manuaalisesti ajettuna tuo dialogi ilmeisesti timeouttaa muutamassa minuutissa, mutta jostakin syystä tuotannossa ajettaessa ei, vaan prosessi jumittaa siihen ilmeisesti loputtomiin (- ainakin 3 tuntia).

Oletan, että syy ja mainittu timeout liittyvät tuohon dialogiin, koska se on aina ollut näytöllä kun olen ottanut näyttökaappauksen ajon ollessa jumissa tai jumittuneen oloisena, myös 5.0.3:ssa.

Timeout näyttää lokissa tältä.

0019:fixme:event:wait_for_withdrawn_state window 0x100c6/1a00003 wait timed out

5.0.3 siis toimii vain ns. manuaalisesti ajettuna, samalla koneella, imagella, käyttäjällä jne. Ainoa ero on 'docker run' -komennossa.

6.0.0 ei kaadu, mutta siinä ei tule timeouttia edes ns. manuaalisesti ajettuna. Sama Mono-dialogi.

Toimimaton versio käynnistää samalla pseudo-TTY:n sekä irrottaa ('detach') containerin. Toisin sanoen se käyttää '-d' ja '-t' -argumentteja. Lisäksi se asettaa joitakin ympäristömuuttujia '-e' -argumentilla. En ole selvittänyt, mitä.

Toimiva versio käynnistää containerin interaktiivisessa tilassa, siis '-i'.

En ole kokeillut manuaalisesti toistaa täysin tuota tuotannon käyttämää containerin käynnistystapaa.

Kokeilin muuten myös Monon asentamista etukäteen (winehq-stable:lle koska oletuksena se oli jo asennettu 6.3:lle ja 5.18:lle, tai asentui näille riippuvuutena), mutta se ei auttanut. Yksi ratkeamaton ongelma oli löytää repoista oikea Mono-versio, mutta edes .msi tiedoston suorittaminen 6.0.0-Winellä ohjeiden mukaisesti ei auttanut vaan jostakin syystä Wine antoi tuolloinkin sitä samaa dialogia eikä timeoutannut.

Olen kokeillut niillä wine-versioilla, jotka on saatavilla Fedoran ja WineHQ:n repoissa. Nämä ovat winehq-stable-6.0.0, winehq-stable-5.0.3, wine-6.3 (staging) ja wine-5.18 (staging).

5.18 antaa saman lopputuloksen kuin 6.3, vaikka tuloste on hieman erilainen.

Docker image perustuu Fedora 33 ja ajetaan palvelimella, jossa on Fedora 28.

Ajettava ohjelma voi hyvinkin vaikuttaa tähän ongelmatilanteeseen. Itselläni se on "Inno Setup" -ohjelman installeri, tosin vanhempi versio siitä. Jossain välissä kokeilin myös uudella versiolla toki.

Lisäys: muuten, se onnistuneen ajon loki jonka löysin aiemmin kertoo Wine-version olevan Staging 4.0, eli tuolla se on joskus toiminut.

Lisäys: 6.0.0 ja 5.0.3 jumittuvat hieman eri kohtiin ajossa. Ne antavat siis hieman eripituiset ja erilaiset lokit. 5.0.3 viimeinen viesti on "0019:fixme:rstrtmgr:RmStartSession 0050D010, 0, 0050D014 stub!", 6.0.0 tämä taas on "0048:err:ole:start_rpcss Failed to open RpcSs service".

5.0.3 jumittuessa ei koskaan tule "wait_for_withdrawn_state" timeouttia, 6.0.0 jumittuessa puuttumaan jää (oletettavasti) "run_wineboot boot event wait timed out".

Metabolix, mikä Wine-versio sinulla oli käytössä testissäsi?

Metabolix [10.03.2021 22:00:29]

#

vesikuusi kirjoitti:

Metabolix, mikä Wine-versio sinulla oli käytössä testissäsi?

Käytössä on Arch Linux ja Wine 6.3 eli uusin versio (tavallinen, ei staging). Käynnistin vain winecfg:n, ja kuvakaappaus oli odotusten mukainen. Toki minulla on wine-mono ja wine-gecko asennettuna, eli dialogeja näistä ei kuulukaan tulla.

vesikuusi kirjoitti:

Wine avaa dialogin Monon asentamisesta. – – Kokeilin muuten myös Monon asentamista etukäteen – –, mutta se ei auttanut.

Tuolla Winen Mono-sivulla näyttää olevan useampi vaihtoehto, minne Monon voi purkaa valmiiksi, joten toimisiko jokin muu niistä?

Monon asennusta pyydetään, kun mscoree.dll ladataan. Vastaavasti mshtml.dll pyytää Geckon asennusta. Jos näille ei ole tarvetta, nämä voi kokeilla ottaa pois käytöstä kokonaan:

export WINEDLLOVERRIDES=mscoree=         # Mono pois
export WINEDLLOVERRIDES=mshtml=          # Gecko pois
export WINEDLLOVERRIDES=mscoree,mshtml=  # molemmat pois

Sinänsä nämä eivät varmaan vaikuta ensimmäisen viestin virheilmoituksiin (kuten install_bpf ja nodrv_CreateWindow).

vesikuusi [11.03.2021 01:16:05]

#

Kiitos neuvoista. Kokeilen myöhemmin ainakin tuota WINEDLLOVERRIDES, jos edes 6.0 toimisi sillä. Ja ehkä myös Monon shared installia.

Viimeisenä keinona ajattelin kokeilla suorittaa tuon Windows-ohjelman asennuksen Wineen koneella, jolla se toimii ja paketoida ainakin sen asennetut tiedostot tai ehkä koko .wine-kansion, jolloin ne voidaan vain kopioda tuotantopalvelimelle. Pahoin pelkään vaan että ongelmat toistuvat sitten kun näitä asennettuja ohjelmia yritetään suorittaa.

vesikuusi [11.03.2021 19:50:53]

#

Jep.

export WINEDLLOVERRIDES=mscoree,mshtml=

Tuo saa 6.0 toimimaan odotetusti. 6.0 on uusin stabiili Wine saatavilla Fedoralle WineHQ:n reposta, joten tämä on OK.

Olihan tuo tullut vastaan googlaillessa mutta jotenkin tyhmästi ohitin sen silloin.

Suurkiitos Metabolix! Tämä ongelma ratkesi. Jes!

Tietysti olisi ihan hauska tietää miksi tuo 5.0.3 toimi tietyssä tilanteessa mutta ei toisessa, mutta en taida jaksaa selvittää.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta