https://bugs.winehq.org/show_bug.cgi?id=45122
Bug ID: 45122
Summary: gdiplus/font test crashes under clang-5.0.1 but not
gcc-7.3.0
Product: Wine
Version: 3.7
Hardware: x86
URL: https://test.winehq.org/data/8dca6c35e11a104385242ed83
46ee05707b78ef7/linux_ae-gentoo-dbg-clang/gdiplus:font
.html
OS: Linux
Status: NEW
Keywords: download, source, testcase
Severity: normal
Priority: P2
Component: gdiplus
Assignee: wine-bugs(a)winehq.org
Reporter: austinenglish(a)gmail.com
Distribution: Gentoo
Backtrace:
=>0 0x7ec9e635 GdipMeasureString+0x1e5(graphics=<is not available>, string=<is
not available>, length=<has been optimized away by compiler>, font=<has been
optimized away by compiler>, rect=<has been optimized away by compiler>,
format=<is not available>, bounds=<has been optimized away by compiler>,
codepointsfitted=<has been optimized away by compiler>, linesfilled=<has been
optimized away by compiler>)
[/var/lib/jenkins/home/workspace/wine-clang/dlls/gdiplus/graphics.c:5427] in
gdiplus (0x0033f958)
1 0x7ed1385d in gdiplus_test (+0x2485c) (0x0033fac8)
2 0x7ed0f1c7 func_font+0x486() in gdiplus_test (0x0033fe08)
3 0x7ed7e968 main+0x457() in gdiplus_test (0x0033fea8)
4 0x7ed7ecaa in gdiplus_test (+0x8fca9) (0x0033fee0)
5 0x7b45df9c call_process_entry+0xb() in kernel32 (0x0033fef8)
6 0x7b45e0f3 start_process+0x122(entry=0x7ed7f5cb, peb=<is not available>)
[/var/lib/jenkins/home/workspace/wine-clang/dlls/kernel32/process.c:1099] in
kernel32 (0x0033ffdc)
7 0x7b45dfaa start_process_wrapper+0x9() in kernel32 (0x0033ffec)
0x7ec9e635 GdipMeasureString+0x1e5
[/var/lib/jenkins/home/workspace/wine-clang/dlls/gdiplus/graphics.c:5427] in
gdiplus: mulps %xmm1,%xmm1
5427 (pt[2].X-pt[0].X)*(pt[2].X-pt[0].X));
lmk what other logs/tests would be useful.
--
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=53845
Bug ID: 53845
Summary: Regression in GetCalendarInfoEx et al
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: kernel32
Assignee: wine-bugs(a)winehq.org
Reporter: elpochodelagente(a)gmail.com
Distribution: ---
Created attachment 73375
--> https://bugs.winehq.org/attachment.cgi?id=73375
test case, succeeds in Windows and wine 6.0
The following line succeeds in Windows and used to work in Wine 6, but not in
Wine 7.19. Attached is a complete program test
GetCalendarInfoEx(0, CAL_GREGORIAN_US, 0, CAL_ITWODIGITYEARMAX |
CAL_RETURN_NUMBER, 0, 0, dwData); // returns 0
Looking at dlls/kernelbase/locale.c current git master I can see that now there
is an explicit check against CAL_GREGORIAN, and if I change the
CAL_GREGORIAN_US parameter in the call to CAL_GREGORIAN then GetCalendarInfoEx
succeeds.
--
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=21550
Summary: Winedbg's disassembler doesn't support SSE2
instructions
Product: Wine
Version: 1.1.37
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: winedbg
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: b7.10110111(a)gmail.com
Winedbg doesn't support SSE2 instructions while gdb does.
--
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=49312
Bug ID: 49312
Summary: wineg++ - "invalid program stack in 64-bit code" on
exception catching - regression
Product: Wine
Version: unspecified
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: dd-tom(a)web.de
Distribution: ---
Created attachment 67324
--> https://bugs.winehq.org/attachment.cgi?id=67324
full crash log
Referencing this issue here:
https://bugs.launchpad.net/ubuntu/+source/wine/+bug/1881293
When compiling the following C++ program with "wineg++ main.cpp":
#include <stdexcept>
#include <stdio.h>
int main() {
printf("start\n");
try {
throw std::runtime_error("desc");
} catch (std::exception &ex) {
printf("in catch\n");
}
printf("end\n");
}
Wine crashes with:
Unhandled exception: assertion failed, invalid program stack in 64-bit code
(0x00007f33f6c24781).
The full log is attached.
Tested with (not working):
- Debian Bullseye and wine 5.0 (packaged)
- wine 5.0 compiled from source on Debian Buster
Regression since wine 4.0, tested working with:
- Debian Buster and wine 4.0 (packaged)
- wine 4.0 compiled from source on Debian Buster
--
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=37517
Bug ID: 37517
Summary: VideoReDo TVSuite H.264 crashes on loading video when
using VMR9
Product: Wine
Version: 1.7.30
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: quartz
Assignee: wine-bugs(a)winehq.org
Reporter: gordon.lack(a)dsl.pipex.com
Distribution: ---
Created attachment 49929
--> https://bugs.winehq.org/attachment.cgi?id=49929
backtrace saved from crash
VideoReDo TVSuite H.264 (http://www.videoredo.com/en/ProductTVS.htm) starts up
OK.
Under Tools/Options/Playback Devices you can select VMR9 as the Video Driver
(FYI: DirectX is also listed there, but it isn't supported any more, and
actually used VMR7 as well - the option is going away). This determines the
driver used when running the editing page.
If you now load a video (mpeg, or h.264) into the program it will 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.
http://bugs.winehq.org/show_bug.cgi?id=21790
Summary: 3D Rad demo "BeltBall" can't use its bundled
mfc80u.dll?
Product: Wine
Version: 1.1.38
Platform: x86
URL: http://www.3drad.com/games/BeltBall%20v102.exe
OS/Version: Linux
Status: UNCONFIRMED
Keywords: download
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
The smallest demo from http://www.3drad.com/free-pc-games.php is the 8MB
http://www.3drad.com/games/BeltBall%20v102.exe, sha1sum
d8827274480b0391ad200478b2ebe26a2658166d BeltBall v102.exe
It installs fine, but when you start it, it complains
fixme:actctx:parse_depend_manifests Could not find dependent assembly
L"Microsoft.VC80.CRT" (8.0.50727.762)
and puts up a dialog saying
"The dynamic link library 'MFC80U.DLL' could not be found"
even though it's installed in
./3D Rad Games/BeltBall v102/Microsoft.VC80.MFC/mfc80u.dll
Perhaps the installer forgot to set an app path or a manifest or something?
winetricks vc2005 works around the problem.
The game installs and runs fine on Vista; I guess we need to try it
on an old XP box that doesn't have vc2005 runtimes already and see
if it works there to confirm this bug.
(I checked on Vista, and there's no entry for the app in
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths, for what it's worth.
And there doesn't seem to be a manifest file next to the .exe.)
--
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.
http://bugs.winehq.org/show_bug.cgi?id=16957
Summary: CreateProcess handles are inherited even when
bInheritHandles=FALSE
Product: Wine
Version: 1.1.2
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: kernel32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: ben(a)salilab.org
Created an attachment (id=18729)
--> (http://bugs.winehq.org/attachment.cgi?id=18729)
test.c
The attached file uses CreateProcess to create a subprocess (gzip in this case)
with redirected standard output. In order for this to work properly, the output
handle created in this code must be inherited by the subprocess - thus the
bInheritHandles argument to CreateProcess must be TRUE. And indeed if this
program is compiled to test-true.exe, a simple text file 'test.in' and the gzip
binary are placed in the same directory, and then test-true.exe is run, it
successfully produces the output test.gz.
If the TRUE argument is switched to FALSE and the file is compiled again to
test-false.exe, when the program is run in the same way on a 'real' Windows
sytem (32 bit Vista Business in this case) the following is output:
gzip: stdout: Bad file descriptor
This is also fine and expected, since the output file handle was not passed to
gzip. *However* if the same test-false.exe program is run with Wine (the Fedora
10 wine-core-1.1.12-1.fc10.i386 package in this case) it runs in just the same
way as test-true.exe, generating the test.gz output.
This suggests to me that the bInheritHandles argument is ignored by Wine. As
stated, this is a minor bug but it would be nice if Wine behaved the same way
as Windows here. (In our case we discovered this problem after we tested our
program successfully under Wine, but then had it fail on a real Windows
system.) I am not familiar with the code, but hopefully it should be
straightforward enough to provide the subprocess with invalid handles if
bInheritHandles=FALSE?
--
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=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=47028
Bug ID: 47028
Summary: WinSCP hosts list missing indentation
Product: Wine
Version: 4.6
Hardware: x86-64
URL: http://winscp.net/download/winscp577.zip
OS: Mac OS X
Status: NEW
Keywords: download, source
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: gijsvrm(a)gmail.com
CC: jr98(a)gmx.net
Created attachment 64194
--> https://bugs.winehq.org/attachment.cgi?id=64194
terminal output, +message log, screenshots
On windows there is space between the edge of the box and the icons.
To reproduce, run WinSCP.exe and you can see the hosts list on the left.
Attached is a zip containing terminal output, a +message log and screenshots
for comparison.
--
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=13778
Summary: Date and Time display
Product: Wine
Version: unspecified
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: rx9tx(a)qrz.ru
Created an attachment (id=13813)
--> (http://bugs.winehq.org/attachment.cgi?id=13813)
wine window
The problem is that in a Windows application running in Wine the date and time
displayed as digit like 39591.6425810185 instead of May-23-2008, 15:25, see
pictures http://rx9tx.qrz.ru/wine.jpg and http://rx9tx.qrz.ru/windows.jpg .
Same about the frequency value 0000000000028.012100 in mHz (28.0121 mhz) is
shown like 298112000.0. I dont know what kind of database is used, but it has
the .isd extension, also .isf, .ism, .isl files are present.
Here's the excerption from the database with the data shown on the pics:
http://rx9tx.qrz.ru/log.txt
--
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.