http://bugs.winehq.org/show_bug.cgi?id=36944
Bug ID: 36944 Summary: Hotel Giant 2 crashes frequently Product: Wine Version: 1.7.22 Hardware: x86 URL: http://www.fileplanet.com/195342/190000/fileinfo/Hotel -Giant-2-Demo-%28UK%29 OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: gyebro69@gmail.com
Created attachment 49051 --> http://bugs.winehq.org/attachment.cgi?id=49051 plain terminal output
The crashes sometimes happen while you're in the menus after starting the game, but always reproducible when you start a new game (or the tutorial in the demo version). When it crashes I can only see the game's own bug reporting window so I can't get a backtrace. If I run the game under winedbg the problem is that winedbg doesn't detect the crash, it's only a bug reporting form that is displayed.
The same problem with Wine 1.2.3/1.4.1/1.6.2/1.7.22 'winetricks wmp9 devenum quartz' doesn't help, they needed to play music and the intro videos. Reducing graphical details in the game, disabling audio doesn't help either.
Fedora 20 Nvidia binary drivers 340.24
http://bugs.winehq.org/show_bug.cgi?id=36944
--- Comment #1 from Béla Gyebrószki gyebro69@gmail.com --- Created attachment 49052 --> http://bugs.winehq.org/attachment.cgi?id=49052 +relay,+seh,+tid debug log (uncompressed 150 MB)
http://bugs.winehq.org/show_bug.cgi?id=36944
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
Tidbit: the demo is protected with SecuROM 7.38.x which doesn't harm here.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Nobilis/Hotel Giant 2 Demo
$ WINEDEBUG=+tid,+seh,+d3d,+d3d9,+d3d_surface,+d3d_perf,+debugstr,+relay,+snoop wine ./hg2.exe >>log_full.txt 2>&1 ... 0036:trace:d3d9:d3d9_device_SetVertexShader iface 0x1685e8, shader (nil). 0036:Call wined3d.wined3d_mutex_lock() ret=7e7b32e9 0036:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7e7b32e9 0036:Call wined3d.wined3d_device_set_vertex_shader(00174d28,00000000) ret=7e7b3311 0036:trace:d3d:wined3d_device_set_vertex_shader device 0x174d28, shader (nil). 0036:Ret wined3d.wined3d_device_set_vertex_shader() retval=00000000 ret=7e7b3311 0036:Call wined3d.wined3d_mutex_unlock() ret=7e7b3316 0036:Ret wined3d.wined3d_mutex_unlock() retval=00000000 ret=7e7b3316 0036:trace:d3d9:d3d9_device_SetFVF iface 0x1685e8, fvf 0. 0036:warn:d3d9:d3d9_device_SetFVF 0 is not a valid FVF. 0036:trace:d3d9:d3d9_device_GetRenderState iface 0x1685e8, state 0x98, value 0x1b9e968. 0036:Call wined3d.wined3d_mutex_lock() ret=7e7b054d 0036:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7e7b054d 0036:Call wined3d.wined3d_device_get_render_state(00174d28,00000098) ret=7e7b0563 0036:trace:d3d:wined3d_device_get_render_state device 0x174d28, state WINED3D_RS_CLIPPLANEENABLE (0x98). 0036:Ret wined3d.wined3d_device_get_render_state() retval=00000000 ret=7e7b0563 0036:Call wined3d.wined3d_mutex_unlock() ret=7e7b056d 0036:Ret wined3d.wined3d_mutex_unlock() retval=00000000 ret=7e7b056d 0036:trace:d3d9:d3d9_device_SetPixelShader iface 0x1685e8, shader (nil). 0036:Call wined3d.wined3d_mutex_lock() ret=7e7b42ad 0036:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7e7b42ad 0036:Call wined3d.wined3d_device_set_pixel_shader(00174d28,00000000) ret=7e7b42d5 0036:trace:d3d:wined3d_device_set_pixel_shader device 0x174d28, shader (nil). 0036:Ret wined3d.wined3d_device_set_pixel_shader() retval=00000001 ret=7e7b42d5 0036:Call wined3d.wined3d_mutex_unlock() ret=7e7b42da 0036:Ret wined3d.wined3d_mutex_unlock() retval=00000000 ret=7e7b42da 0036:trace:d3d9:d3d9_device_SetRenderState iface 0x1685e8, state 0x1c, value 0x1. 0036:Call wined3d.wined3d_mutex_lock() ret=7e7b0494 0036:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7e7b0494 0036:Call wined3d.wined3d_device_set_render_state(00174d28,0000001c,00000001) ret=7e7b04b1 0036:trace:d3d:wined3d_device_set_render_state device 0x174d28, state WINED3D_RS_FOGENABLE (0x1c), value 0x1. 0036:Ret wined3d.wined3d_device_set_render_state() retval=00000001 ret=7e7b04b1 0036:Call wined3d.wined3d_mutex_unlock() ret=7e7b04b6 0036:Ret wined3d.wined3d_mutex_unlock() retval=00000000 ret=7e7b04b6 0036:CALL v3d_sse.?matrix_transpose@@YAAAU_D3DMATRIX@@AAU1@0@Z(01b9e644,09e0cd60) ret=0081b81d 0036:RET v3d_sse.?matrix_transpose@@YAAAU_D3DMATRIX@@AAU1@0@Z() retval=01b9e644 ret=0081b81d 0036:CALL v3d_sse.?matrix_transpose@@YAAAU_D3DMATRIX@@AAU1@0@Z(01b9e674,09e0ce44) ret=0081b81d 0036:RET v3d_sse.?matrix_transpose@@YAAAU_D3DMATRIX@@AAU1@0@Z() retval=01b9e674 ret=0081b81d ... 0036:CALL v3d_sse.?matrix_transpose@@YAAAU_D3DMATRIX@@AAU1@0@Z(01b9eaf4,09e0e3a4) ret=0081b81d 0036:RET v3d_sse.?matrix_transpose@@YAAAU_D3DMATRIX@@AAU1@0@Z() retval=01b9eaf4 ret=0081b81d 0036:trace:seh:raise_exception code=c0000005 flags=0 addr=0x879ec4 ip=00879ec4 tid=0036 0036:trace:seh:raise_exception info[0]=00000000 0036:trace:seh:raise_exception info[1]=00000048 0036:trace:seh:raise_exception eax=00000000 ebx=01552000 ecx=00000000 edx=0000000d esi=000080a2 edi=00b4139a 0036:trace:seh:raise_exception ebp=01b9e608 esp=01b9e5fc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210246 0036:trace:seh:call_stack_handlers calling handler at 0xa1854e code=c0000005 flags=0 0036:trace:seh:call_stack_handlers handler at 0xa1854e returned 1 0036:trace:seh:call_stack_handlers calling handler at 0x9eeaa4 code=c0000005 flags=0 ... --- snip ---
Last API calls before the crash were made to game engine 'v3d_sse' module.
Attaching to the running process, overriding internal crash handler and waiting for the crash:
--- snip --- ... Wine-dbg>set $BreakOnFirstChance=1 Wine-dbg>c First chance exception: page fault on read access to 0x00000048 in 32-bit code (0x00879ec4). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:00879ec4 ESP:01b9e5fc EBP:01b9e608 EFLAGS:00210246( R- -- I Z- -P- ) EAX:00000000 EBX:01552000 ECX:00000000 EDX:0000000d ESI:000080a2 EDI:00b4139a Stack dump: 0x01b9e5fc: cccccccc 031b1c50 cccccccc 01b9edd8 0x01b9e60c: 0081b852 00000000 0000000d 00000000 0x01b9e61c: 0000004e 01b9e644 10554510 ffffffff 0x01b9e62c: 00000010 01b9edd4 0000001a 0000001a 0x01b9e63c: 01b9eb24 00000028 bd811ce0 bf7f7da3 0x01b9e64c: 00000000 45a66319 3f7f7da3 bd811ce0 000c: sel=0067 base=00000000 limit=00000000 16-bit --x Backtrace: =>0 0x00879ec4 in hg2 (+0x479ec4) (0x01b9e608) 1 0x0081b852 in hg2 (+0x41b851) (0x01b9edd8) 2 0x0080e18c in hg2 (+0x40e18b) (0x01b9f28c) 3 0x007e1bb3 in hg2 (+0x3e1bb2) (0x01b9f2c4) 4 0x0083c6ae in hg2 (+0x43c6ad) (0x01b9f33c) 5 0x00839cd8 in hg2 (+0x439cd7) (0x01b9f38c) 6 0x00839a48 in hg2 (+0x439a47) (0x01b9f3a8) 7 0x00839721 in hg2 (+0x439720) (0x01b9f3cc) 8 0x00874033 in hg2 (+0x474032) (0x01b9f3f0) 9 0x0086df45 in hg2 (+0x46df44) (0x01b9f418) 10 0x007fd98c in hg2 (+0x3fd98b) (0x01b9f49c) 11 0x0086db0a in hg2 (+0x46db09) (0x01b9f4b0) 12 0x006471f9 in hg2 (+0x2471f8) (0x01b9f5a8) 13 0x005829d7 in hg2 (+0x1829d6) (0x01b9f5e4) 14 0x0060684e in hg2 (+0x20684d) (0x01b9f5f4) 15 0x006080ea in hg2 (+0x2080e9) (0x01b9f634) 16 0x006081bb in hg2 (+0x2081ba) (0x01b9f644) 17 0x00457002 in hg2 (+0x57001) (0x01b9f654) 18 0x0052a525 in hg2 (+0x12a524) (0x01b9f6c8) 19 0x009f2fc4 in hg2 (+0x5f2fc3) (0x01b9f754) 20 0x7b8642d4 call_process_entry+0xb() in kernel32 (0x01b9f7ac) 21 0x00c1a6a9 in hg2 (+0x81a6a8) (0x01b9fcd4) 0x00879ec4: movl 0x14(%eax,%edx,4),%ecx --- snip ---
Protection scan:
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready... Scanning -> C:\Program Files\Nobilis\Hotel Giant 2 Demo\hg2.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 13594624 (0CF7000h) Byte(s) [File Heuristics] -> Flag : 00000100000000000000000000000001 (0x04000001) [Entrypoint Section Entropy] : 6.63 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x492A70AE | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x3F (63) AddressOfRawData : 0x115901C | PointerToRawData : 0xBBF01C CvSig : 0x3031424E | Offset : 0x0 | Sig : 0x48CA276C | Age : 0xD | Pdb : D:\ht2-source-gold-master2\hg2-public-demo.pdb
[!] SecuROM Detected - Version 07.38.0014 [!] Possible CD/DVD-Key or Serial Check -> Invalid serial [CompilerDetect] -> Visual C++ 6.0 - Scan Took : 0.806 Second(s) [000000326h tick(s)] [533 scan(s) done] --- snip ---
$ sha1sum HG2-Demo_UK.exe 174b7a694fe00a4fa9eaa49d73b030623f5ee3e0 HG2-Demo_UK.exe
$ du -sh HG2-Demo_UK.exe 708M HG2-Demo_UK.exe
$ wine --version wine-1.7.22-70-g509bdae
Regards
https://bugs.winehq.org/show_bug.cgi?id=36944
narri xqwerty123@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xqwerty123@luukku.com
--- Comment #3 from narri xqwerty123@luukku.com --- I just loaded the game and I accepted few popups and it crashed.
fixme:file:K32EnumPageFilesA (0xfd61c0, 0x1b33350) stub fixme:wmvcore:WMCreateSyncReader ((nil), 0, 0xb4a064): stub fixme:wmvcore:WMCreateSyncReader ((nil), 0, 0xb4a064): stub fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1. fixme:wmvcore:WMCreateSyncReader ((nil), 0, 0x1a0ee6a4): stub fixme:d3d9:Direct3DShaderValidatorCreate9 stub
Few stubs are seen if someone is interest of implementing them.
wine 1.7.42
https://bugs.winehq.org/show_bug.cgi?id=36944
--- Comment #4 from Béla Gyebrószki gyebro69@gmail.com --- Still an issue in wine-3.16-111-g8e1d40b966 and wine-staging too. Terminal output is basically the same as in comment #0.
https://bugs.winehq.org/show_bug.cgi?id=36944
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #5 from joaopa jeremielapuree@yahoo.fr --- Created attachment 64618 --> https://bugs.winehq.org/attachment.cgi?id=64618 console output with d3d9 channel enabled
Bug is still there in wine-4.9
https://bugs.winehq.org/show_bug.cgi?id=36944
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=36944
--- Comment #6 from joaopa jeremielapuree@yahoo.fr --- Demo is expired. Unable to test for now.
https://bugs.winehq.org/show_bug.cgi?id=36944
--- Comment #7 from joaopa jeremielapuree@yahoo.fr --- At least, the gog version fine with wine-7.17.
https://bugs.winehq.org/show_bug.cgi?id=36944
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.fileplanet.com/1 |https://web.archive.org/web |95342/190000/fileinfo/Hotel |/20220920074941/https://dow |-Giant-2-Demo-%28UK%29 |nload.fileplanet.com/ftp1/1 | |22008/HG2-Demo_UK.exe?st=2G | |If1MZNISsfJCklUtI99w&e=1663 | |670866 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download link via Internet Archive for documentation.
https://web.archive.org/web/20220920074941/https://download.fileplanet.com/f...
I can't reproduce the crash either with Wine 7.1. Clean WINEPREFIX (no winetricks).
The demo is stable / playable within its limits.
--- quote --- Demo is expired. Unable to test for now. --- quote ---
That's because the SecuROM 7.x DRM scheme of the trial/demo has a builtin expiry date of '2020-01-02 00:00:00'. That "timebomb" part is hard-coded into the DRM scheme itself, nothing the game developer can configure during build time integration.
To "trick" the DRM scheme you can use 'libfaketime' (the 32-bit part) and simply run Wine with whatever desired old date, way before Jan 2nd, 2020. Tidbit: Wine 7.2+ has a "regression" w.r.t. 32-bit 'libfaketime' usage, hence Wine <= 7.1 for the demo.
https://github.com/wolfcw/libfaketime https://gist.github.com/rmi1974/51244c06dbe1a84e052c09c5e142358a
It's best to use relative time spec when installing and running the demo.
FAKETIME="-10y"
If you use absolute time spec (not recommended), you need to use the 'start at' date spec "@YYYY-MM-DD hh:mm:ss" otherwise the DRM scheme crashes because it can't cope with a "stopped" system clock.
Be aware that SecuROM records the system time each time and detects backwards running clocks (from consecutive runs). So you might need to re-install the prefix if you did mess up that part once (forgot to export fake time).
Resolving 'fixed' here.
$ wine --version wine-7.1
Regards
https://bugs.winehq.org/show_bug.cgi?id=36944
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.18.