[Bug 55176] New: Regression: Wing Commander Secret Ops/Prophecy unable to launch.
https://bugs.winehq.org/show_bug.cgi?id=55176 Bug ID: 55176 Summary: Regression: Wing Commander Secret Ops/Prophecy unable to launch. Product: Wine Version: 8.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: jcarthew(a)gmail.com Distribution: --- Game fails to load with a fatal error: "file 'game\\cdlayout.iff' not found and not optional" 0024:err:vxd:MONODEBG_DeviceIoControl "Fatal: " 0024:err:vxd:MONODEBG_DeviceIoControl "Iff::Iff open file 'game\\cdlayout.iff' not found and not optional" 0024:fixme:event:wait_for_withdrawn_state window 0x10070/a00001 wait timed out 0024:fixme:event:wait_for_withdrawn_state window 0x20070/a00004 wait timed out Bug was introduced between WINE 7.8 and 7.9. Generating regression testing to locate exact patch. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 James Carthew <jcarthew(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Debian Regression SHA1| |3728b2b7d280f2bcfb44ef50c13 | |e248162a36787 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 --- Comment #1 from James Carthew <jcarthew(a)gmail.com> --- Regression testing has identified 3728b2b7d280f2bcfb44ef50c13e248162a36787 ntdll: Fail to allocate large blocks if heap isn't growable. As the cause of the crash. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 James Carthew <jcarthew(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 James Carthew <jcarthew(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jcarthew(a)gmail.com, | |rbernon(a)codeweavers.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 --- Comment #2 from James Carthew <jcarthew(a)gmail.com> --- I can fix this error by commenting out lines 982-986 in dlls/ntdll/heap.c in the WINE Sourcecode. Example: /* if (heap && !(flags & HEAP_GROWABLE)) { WARN( "Heap %p isn't growable, cannot allocate %#Ix bytes\n", heap, *region_size ); return NULL; }*/ -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 --- Comment #3 from James Carthew <jcarthew(a)gmail.com> --- Additional testing, just commenting out line 985 the: return NULL; in dlls/ntdll/heap.c prevents the game from crashing. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 James Carthew <jcarthew(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|8.11 |7.8 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 James Carthew <jcarthew(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://www.wcnews.com/wcpe | |dia/Full_English_Starter_Pa | |ckage -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4(a)web.de Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #4 from Fabian Maurer <dark.shadow4(a)web.de> --- Confirming. The hack works, but is not the correct solution. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55176 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69(a)gmail.com --- Comment #5 from Béla Gyebrószki <gyebro69(a)gmail.com> --- Still present in Wine-9.13. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55176 Alberto Salvia Novella <es20490446e(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |es20490446e(a)gmail.com --- Comment #6 from Alberto Salvia Novella <es20490446e(a)gmail.com> --- Present in Wine 10.6. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55176 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Summary|Regression: Wing Commander |Wing Commander Secret |Secret Ops/Prophecy unable |Ops/Prophecy unable to |to launch. |launch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55176 Bernhard Übelacker <bernhardu(a)mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu(a)mailbox.org --- Comment #7 from Bernhard Übelacker <bernhardu(a)mailbox.org> --- Created attachment 79907 --> http://bugs.winehq.org/attachment.cgi?id=79907 reproducer and possible patch The link at the given download page got truncated. The complete filename is still shown in old archive.org versions and still works: https://download.wcnews.com/files/so/secretopsfull%20-%20Secret%20Ops%20Full... Still visible with wine-11.0-rc1. It looks like the game expects something like this to work: HANDLE heap = HeapCreate(HEAP_NO_SERIALIZE, 0x2000000, 0x2000000); void* ptr = HeapAlloc(heap, HEAP_NO_SERIALIZE, 0xf4c60); But current windows versions, down to testbots windows xp, all return here a failure. Switching wine to win95 with below command does also not help, just makes the output to looks like in comment 0. wine reg add 'HKCU\Software\Wine\AppDefaults\SecretOps.exe' /v Version /t REG_SZ /d win95 Using Windows 98 from the "VM" at https://copy.sh/v86/?profile=windows98 the test program in this attachement returns allocated pointers as long as there is enough free space in the heap. At the bottom of attached file is a modification to avoid running into the path of heap_allocate_large. This patch should only make an effect if windows version is configured to win9x. Would that be acceptable for inclusion? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55176 --- Comment #8 from Rémi Bernon <rbernon(a)codeweavers.com> --- I don't think it's going to work well, the large block size threshold is dependent on the size representation capacity in the small block header. Also I'm not sure the version check is going to be well received, though arguably this is the right thing to do: changing exposed version is a manual step and it is not very convenient, and this should probably be a per-application compatibility flag somewhere in the future when we have those. What could be acceptable, perhaps in the meantime if some application really depends on this, is simply to get rid of the growable heap restriction, for instance if HEAP_NO_SERIALIZE flag has been used too to make sure it's less likely to break anything, with a FIXME perhaps when the workaround gets triggered. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla