https://bugs.winehq.org/show_bug.cgi?id=49195
Bug ID: 49195
Summary: Multiple 4k demoscene OpenGL demos crash on startup
(failure to lookup atom 0xC019 'static' from global
atom tables)
Product: Wine
Version: 5.8
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: user32
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
extracted from bug 48898
My comment: https://bugs.winehq.org/show_bug.cgi?id=48898#c12
--- quote ---
To me it looks like bug 18490 ("Multiple games fail to set pixel format on D3D
device context created on desktop window (Empire: Total War, Napoleon: Total
War, Utopia City)") but for GL device context on the desktop window.
According to online information it's not allowed to do any rendering using this
context but enough to call functions like glGetString() etc.
Maybe some of the Wine graphics folks could weigh in with an opinion if this
limitation is already known / tracked in a bug?
--- quote ---
Henri's answer: https://bugs.winehq.org/show_bug.cgi?id=48898#c13
--- quote ---
I'm not aware of an existing bug report for this issue, no. It does strike me
as similar to bug 36506 though, and it would not particularly surprise me if
wglGetProcAddress() is supposed to return results consistent with
GL_EXTENSIONS/GL_VERSION here, even without a current GL context.
I seem to recall having established in the context of bug 18490 that creating a
GL context (or more specifically, setting a pixel format) on the desktop window
is indeed supposed to fail. In any case, this seems like of of those bugs that
would benefit from tests to establish what's supposed to happen.
--- quote ---
Turns out this was a side-effect of an earlier problem.
It was not supposed to be GetDC(NULL) (Desktop window).
--- snip ---
$ WINEDEBUG=+seh,+relay,+server,+class,+win,+msg wine ./End\ of\ time\ 720p.exe
>>log.txt 2>&1
...
0024:Call user32.ChangeDisplaySettingsA(00421288,00000004) ret=004200da
...
0024: get_desktop_window( force=0 )
0024: get_desktop_window() = 0 { top_window=00010020, msg_window=00010026 }
...
0024:Ret user32.ChangeDisplaySettingsA() retval=00000000 ret=004200da
0024:Call
KERNEL32.CreateThread(00000000,00000000,004201ca,004304e8,00000000,00000000)
ret=004200ee
...
0024:Ret KERNEL32.CreateThread() retval=00000080 ret=004200ee
00bc: *fd* 17 <- 38
00bc: init_thread( unix_pid=3683, unix_tid=3729, debug_level=1, teb=7ffd4000,
entry=004201ca, reply_fd=15, wait_fd=17, cpu=x86 )
0024:Call
user32.CreateWindowExA(00000000,0000c019,00000000,91000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000)
ret=004200f4
0024:trace:win:WIN_CreateWindowEx (null) #c019 ex=00000000 style=91000000 0,0
0x0 parent=(nil) menu=(nil) inst=(nil) params=(nil)
00bc: init_thread() = 0 { pid=0020, tid=00bc, server_start=1d62d3b280579be
(-2.9701360), info_size=0, version=603, all_cpus=00000003, suspend=0 }
0024:trace:win:dump_window_styles style: WS_POPUP WS_VISIBLE WS_MAXIMIZE
0024:trace:win:dump_window_styles exstyle:
...
00bc:Starting thread proc 0x4201ca (arg=0x4304e8)
...
0024: create_window( parent=00010020, owner=00000000, atom=c019,
instance=00000000, dpi=96, awareness=2, class=L"" )
0024: create_window() = INVALID_HANDLE { handle=00000000, parent=00000000,
owner=00000000, extra=0, class_ptr=00000000, dpi=0, awareness=0 }
0024:warn:win:create_window_handle error 6 creating window
0024:trace:class:GetClassInfoExW (nil) #c019 0x1518f9e0
0024:trace:class:CLASS_FindClass #c019 0x7e910000 -> not found
0024:Ret user32.CreateWindowExA() retval=00000000 ret=004200f4
--- snip ---
The failing window creation resulted in NULL handle which got passed to
user32.GetDC():
--- snip ---
0024:Call user32.GetDC(00000000) ret=004200fb
0024:trace:win:GetDCEx hwnd 0x10020, hrgnClip (nil), flags 00000003
...
0024: get_visible_region( window=00010020, flags=00000013 )
0024: get_visible_region() = 0 { top_win=00010020, top_rect={-1920,0;-1919,1},
win_rect={0,0;3200,1080}, paint_flags=00000001, total_size=16,
region={{-1920,0;1280,1080}} }
0024:Call
winex11.drv.GetDC(00030039,00010020,00010020,1518fde0,1518fdf0,00000013)
ret=7e97bd3e
0024:Ret winex11.drv.GetDC() retval=00000001 ret=7e97bd3e
0024:trace:win:GetDCEx (0x10020,(nil),0x13): returning 0x30039 (updated)
0024:Ret user32.GetDC() retval=00030039 ret=004200fb
--- snip ---
Well, the rest of the OpenGL story is known and the current behaviour makes
sense.
Back to the actual problem...
The creation of the window which ought the be used for OpenGL context/rendering
fails because atom 0xc019 can't be found/resolved.
I should have looked more carefully at the trace log and the demo disassembly.
--- snip ---
...
004200B6 | xor esi,esi |
004200B8 | push esi |
004200B9 | push esi |
004200BA | push esi |
004200BB | push esi |
004200BC | push esi |
004200BD | push esi |
004200BE | push esi |
004200BF | push esi |
004200C0 | push esi |
004200C1 | push 91000000 |
004200C6 | push esi |
004200C7 | push C019 | global atom!
004200CC | push esi |
004200CD | push 4 |
004200CF | push end of time 720p.421288 |
004200D4 | call dword ptr ds:[<&user32.ChangeDisplaySettingsA>] |
004200DA | push esi |
004200DB | push esi |
004200DC | push end of time 720p.4304E8 |
004200E1 | push end of time 720p.4201CA |
004200E6 | push esi |
004200E7 | push esi |
004200E8 | call dword ptr ds:[<&KERNEL32.CreateThread>] |
004200EE | call dword ptr ds:[<&user32.CreateWindowExA>] | fails
004200F4 | push eax |
004200F5 | call dword ptr ds:[<&user32.GetDC>] |
004200FB | mov edi,eax |
004200FD | mov dword ptr ds:[3AB08EC],eax |
00420102 | push esi |
00420103 | push edi |
00420104 | push esi |
00420105 | push end of time 720p.42125C |
0042010A | push edi |
0042010B | call dword ptr ds:[<&gdi32.ChoosePixelFormat>] |
00420111 | push eax |
00420112 | push edi |
00420113 | call dword ptr ds:[<&gdi32.SetPixelFormat>] |
00420119 | call dword ptr ds:[<&opengl32.wglCreateContext>] |
0042011F | push eax |
00420120 | push edi |
00420121 | call dword ptr ds:[<&opengl32.wglMakeCurrent>] |
00420127 | call dword ptr ds:[<&user32.ShowCursor>] |
0042012D | call end of time 720p.4202CC |
--- snip ---
The demoscene guys are crazy and fight for each saved byte ;-)
Courtesy of: http://www.pouet.net/topic.php?which=9894
--- quote ---
I was able to get 4 bytes off of a test 1k intro (Peach GLSL Shader of Japan)
by replacing the "edit" string with 0xC018, making it 1006 bytes instead of
1010. Nice.
...and then I got it down to 1004 bytes, because now "test eax, eax" compressed
better than "test ax, ax", which used to compress better sometime before this
newest change. ;) This 1k intro business is crazy, you'd really need some kind
of brute-force code masher that tries all possible combinations of code that
perform the same thing.
--- quote ---
--- quote ---
That´s mine since 2009 using DirectX9...someone told me using "static" instead
of "edit" would be better back then in some other thread...was iq if i remember
correctly.
The ATOM for "static" is 0xC019 btw, but be warned: it added 7 bytes here in my
first test, opposed to chopping off 4 bytes in case of "edit".
--- quote ---
--- quote ---
Oh, shit...i did the test the wrong way around...meaning the ATOM actually
chopped off 7 bytes in case of "static" vs. "0xC019" :/ :D
Yay, thanks for the nice trick, man! :)
--- quote ---
Also relevant, shows dump of global and typical local atom tables:
https://github.com/lungetech/ICAS/blob/master/logs/volatility/win32/output/…
Wine source:
https://source.winehq.org/git/wine.git/blob/9e26bc811656ad8eb901bffa5528b9c…
--- snip ---
407 /***********************************************************************
408 * CLASS_FindClass
409 *
410 * Return a pointer to the class.
411 */
412 static CLASS *CLASS_FindClass( LPCWSTR name, HINSTANCE hinstance )
413 {
414 static const WCHAR comctl32W[] =
{'c','o','m','c','t','l','3','2','.','d','l','l',0};
415 struct list *ptr;
416 ATOM atom = get_int_atom_value( name );
417
418 GetDesktopWindow(); /* create the desktop window to trigger builtin
class registration */
419
420 if (!name) return NULL;
421
422 name = CLASS_GetVersionedName( name, NULL, NULL, TRUE );
423
424 for (;;)
425 {
426 USER_Lock();
427
428 LIST_FOR_EACH( ptr, &class_list )
429 {
430 CLASS *class = LIST_ENTRY( ptr, CLASS, entry );
431 if (atom)
432 {
433 if (class->atomName != atom) continue;
434 }
435 else
436 {
437 if (strcmpiW( class->name, name )) continue;
438 }
439 if (!class->local || class->hInstance == hinstance)
440 {
441 TRACE("%s %p -> %p\n", debugstr_w(name), hinstance,
class);
442 return class;
443 }
444 }
445 USER_Unlock();
446
447 if (atom) break;
448 if (!is_comctl32_class( name )) break;
449 if (GetModuleHandleW( comctl32W )) break;
450 if (!LoadLibraryW( comctl32W )) break;
451 TRACE( "%s retrying after loading comctl32\n", debugstr_w(name) );
452 }
453
454 TRACE("%s %p -> not found\n", debugstr_w(name), hinstance);
455 return NULL;
456 }
--- snip ---
https://source.winehq.org/git/wine.git/blob/9e26bc811656ad8eb901bffa5528b9c…
$ sha1sum atz-end_of_time.zip
3a4ce3fd92e2fdd1a4533ee67d4809d3f2184f6b atz-end_of_time.zip
$ du -sh atz-end_of_time.zip
3.3M atz-end_of_time.zip
$ wine --version
wine-5.8-173-g9e26bc8116
Regards
--
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=38142
Bug ID: 38142
Summary: Approach fields box only show 3/4 of one line
Product: Wine
Version: 1.7.36
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: ToddAndMargo(a)zoho.com
Distribution: ---
Created attachment 50869
--> https://bugs.winehq.org/attachment.cgi?id=50869
Field Box
Hi All,
Wine 1.7.36 and Smart Suite N9.8.0208.1200.
Would you guys please fix this for me. It is driving me NUTS!
In the "Find Assistant" the Fields box only shows about 3/4 on one line. It
makes it impossible to file the other lines in the box.
I will attach a screen shot
Many thanks,
-T
--
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=50242
Bug ID: 50242
Summary: Lotus Approach crashes on start up
Product: Wine-staging
Version: 5.22
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: ToddAndMargo(a)zoho.com
CC: leslie_alistair(a)hotmail.com, z.figura12(a)gmail.com
Distribution: ---
Created attachment 68752
--> https://bugs.winehq.org/attachment.cgi?id=68752
Approach crash on start up
Dear Wine Staging Maintainers,
Fedora 33
wine-5.22-1.fc33.x86_64
As of 5.22, Lotus Approach now crashes on start up. Word Pro is okay.
I have attached the trace.
-T
--
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=21855
Summary: WordPro Windows pull down does not show file names
Product: Wine
Version: 1.1.38
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P4
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: ToddAndMargo(a)verizon.net
Created an attachment (id=26459)
--> (http://bugs.winehq.org/attachment.cgi?id=26459)
Missing file names in Windows pull down
Hi All,
Would you guys fix this for me?
I am using Lotus Word Pro N9.8.0208.1200. When you open two files (documents)
from the command line (the jpeg I have attached), then go to the "Window" pull
down to select which file to bring into focus, the file names are missing. If
you start Word Pro, then use File, Open to select two files, one at a time, the
second file does not show.
Many thanks,
-T
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=50210
Bug ID: 50210
Summary: S.T.A.L.K.E.R.: Call of Pripyat needs
D3DX11GetImageInfoFromMemory implementation
Product: Wine
Version: 5.22
Hardware: x86-64
OS: Linux
Status: NEW
Severity: minor
Priority: P2
Component: directx-d3d-util
Assignee: wine-bugs(a)winehq.org
Reporter: andrey.goosev(a)gmail.com
Distribution: ---
Enhanced full dynamic lighting (DX11)
fixme:d3dx:D3DX11GetImageInfoFromMemory src_data 08D75427, src_data_size 65664,
pump 00000000, img_info 0031D0C0, hresult 00000000 stub!
wine-5.22-195-gcbca9f847f6
--
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=45870
Bug ID: 45870
Summary: Star Wars Pit Droids fails to install
Product: Wine
Version: 3.16
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: zzarko(a)gmail.com
Distribution: ---
Created attachment 62369
--> https://bugs.winehq.org/attachment.cgi?id=62369
Screenshot of error
I have tried to install an old Win95 game, Star Wars Pit Droids, but it always
crashes during the install (actual error is in screenshot). I have created
32-bit wine environment and selected W95 as OS version.
The game can be found at:
https://www.myabandonware.com/game/star-wars-pit-droids-403
I have tried this with Wine 2.4, same error. I'll add WINEDEBUG=warn+all
outputs for both 3.16 and 2.4 versions.
--
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=48214
Bug ID: 48214
Summary: RPGmaker input does not work after moving window
Product: Wine
Version: 4.0.2
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: directx-dinput
Assignee: wine-bugs(a)winehq.org
Reporter: ilkka.prusi(a)gmail.com
Distribution: ---
In some games made with RPGMaker VX ACE the input does not work after you have
moved window in desktop (input focus gone and back again).
Symptom is that game character does not move, menu is not opened on pressing
esc and so forth.
This is repeatable on Debian bullseye with wine 4.0.2, Wayland + Gnome on
x86-64 (Linux 5.4.1).
To repeat simply grab the window with mouse, move it, click inside window and
try keyboard input again.
--
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=53475
Bug ID: 53475
Summary: Hang: underrun of data / failed to create thread
Product: Wine
Version: 7.14
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: dsound
Assignee: wine-bugs(a)winehq.org
Reporter: ilkka.prusi(a)gmail.com
Distribution: ---
Playing Alansya Chronicles in some situations the game will hang and needs to
be forcibly closed. This happens on all Wine 7.x versions and I haven't tested
with older versions of Wine.
There are specific log entries to note when this hang occurs:
(wine:3413): GStreamer-WARNING **: 22:20:23.968: failed to create thread: Error
creating thread: Resource temporarily unavailable
028c:fixme:quartz:DSoundRender_UpdatePositions Underrun of data occurred!
Game uses many short audio samples during playback so perhaps thread pool is
exhausted? Second entry would indicate that there is synchronization issue in
the playback.
But there is another indication that the dsound code is iffy:
01a0:err:quartz:DSoundRender_SendSampleData WaitForSingleObject() returned 0.
This log entry is triggered when This->flush_event is signalled and the code is
expecting timeout. This by itself is already strange looking code (from
Win32-style standpoint), but what the code does next is even stranger.
Flush event looks like it is meant as signal that code trying to write should
exit, the comment says that much:
/* Signaled when a flush or state change occurs, i.e. anything that needs
* to immediately unblock the streaming thread. */
But when DSoundRender_SendSampleData() gets the signalled event it goes back
and tries to continue the loop instead of exiting.
I suspect the code expects that This->sink.flushing would have been set already
when the event is signalled but apparently it isn't.
However, having DSoundRender_SendSampleData() bail out on the event does not
fix the hang, which would indicate there is more to the issue than just one
part.
So, maybe DSoundRender_SendSampleData() could check that if
WaitForSingleObject() returns 0 (event signalled) it could just exit and log
that instead of trying to repeat? It seems to be normal occurrence instead of
error?
The state management seems oddly complicated and like it was added later than
by design initially? I suspect this could be made much simpler to avoid the
issue.
If there is race condition in state management, is it possible the code will
hang indefinitely in DSoundRender_HandleEndOfStream()? That looks like a
possible place that would explain the hang I'm seeing.
--
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=48232
Bug ID: 48232
Summary: Unhandled exception: page fault on read access to
0x00f1f1f1 in 32-bit code
Product: Wine
Version: 4.0.2
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: ilkka.prusi(a)gmail.com
Distribution: ---
Created attachment 65877
--> https://bugs.winehq.org/attachment.cgi?id=65877
Backtrace of crashed program
Crash during running game made with RPG Maker VX ACE.
(error details in attached backtrace)
--
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=30969
Bug #: 30969
Summary: Tron 2.0 - No music while playing game and in menu
Product: Wine
Version: 1.4
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: directx-dmusic
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: an0nym0usse(a)hotmail.com
Classification: Unclassified
Created attachment 40628
--> http://bugs.winehq.org/attachment.cgi?id=40628
output when launching Tron.exe
No music while playing game and in menu.
The game install with no problem
I add the msvcirt.dll in system32 like suggested on the wine site
All seems to go well, the first setting menu launch with sound
After that the diverse publishing companies videos are played with sound.
After a couple of seconds the Game menu appears with sound effects but NO
MUSIC.
No music while playing the game too.
You can look for clues in attachment1
When I re-install WMFADist.exe (probably audio codecs) included in Tron 2.0 cd
it seem to install without a problem but in the console it give some errors:
zool@Satellite-M40:~/JEUX/Progz/Win32/Tron2$ wine WMFADist.exe
fixme:setupapi:SetupDefaultQueueCallbackW notification 262144 params 32f84c,0
err:setupapi:SetupDefaultQueueCallbackW copy error 0
L"C:\\users\\zool\\Temp\\IXP000.TMP\\msdmo.dll" ->
L"C:\\windows\\system32\\msdmo.dll"
fixme:setupapi:SetupDefaultQueueCallbackW notification 262144 params 32f84c,0
err:setupapi:SetupDefaultQueueCallbackW copy error 0
L"C:\\users\\zool\\Temp\\IXP000.TMP\\msvcrt.dll" ->
L"C:\\windows\\system32\\msvcrt.dll"
fixme:sfc:SFC_3 0
fixme:sfc:SFC_3 0
fixme:ole:TLB_ReadTypeLib Header type magic 0x00905a4d not supported.
err:ole:TLB_ReadTypeLib Loading of typelib
L"C:\\windows\\system32\\logagent.exe" failed with error 0
err:ole:TLB_ReadTypeLib Loading of typelib
L"C:\\windows\\system32\\logagent.tlb" failed with error 2
It's all for now
P.S.
I have filed this bug under : directx-dmusic, seemed logical
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.