http://bugs.winehq.org/show_bug.cgi?id=28795
Bug #: 28795
Summary: ExeInfoPE: PE protection schemes that abuse %gs won't
run (breaks glibc TLS selector)
Product: Wine
Version: 1.3.30
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello,
newer versions of "ExeInfoPE" (>0.0.2.3) which coin their own PE protection
scheme don't run anymore.
There is still bug 26701 though the app crashes now earlier.
With tracing enabled:
--- snip ---
...
0024:Call KERNEL32.VirtualProtect(00400000,00001000,00000004,0032fe40)
ret=05bd0336
0024:Ret KERNEL32.VirtualProtect() retval=00000001 ret=05bd0336
0024:Call KERNEL32.VirtualProtect(00400000,00001000,00000002,0032fe40)
ret=05bd034b
0024:Ret KERNEL32.VirtualProtect() retval=00000001 ret=05bd034b
0024:trace:seh:raise_exception code=c0000005 flags=0 addr=0xb74a916a
ip=b74a916a tid=0024
0024:trace:seh:raise_exception info[0]=00000000
0024:trace:seh:raise_exception info[1]=ffffffff
0024:trace:seh:raise_exception eax=7bc9d7a7 ebx=b75e0ff4 ecx=0032fdcc
edx=7bc9d7a7 esi=0032fc74 edi=ffffffc8
0024:trace:seh:raise_exception ebp=0032fc48 esp=0032f6bc cs=0073 ds=007b
es=007b fs=0033 gs=0002 flags=00010246
0024:trace:seh:call_vectored_handlers calling handler at 0x7e16e0bd
code=c0000005 flags=0
0024:trace:seh:call_vectored_handlers handler at 0x7e16e0bd returned 0
0024:trace:seh:call_stack_handlers calling handler at 0x7bc90f61 code=c0000005
flags=0
0024:Call KERNEL32.UnhandledExceptionFilter(0032f194) ret=7bc90f9b
wine: Unhandled page fault on read access to 0xffffffff at address 0xb74a916a
(thread 0024), starting debugger...
0024:trace:seh:start_debugger Starting debugger "winedbg --auto 35 52"
0024:Ret KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=7bc90f9b
0024:trace:seh:call_stack_handlers handler at 0x7bc90f61 returned 1
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code
(0xb74a916a).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:0002
EIP:b74a916a ESP:0032f6bc EBP:0032fc48 EFLAGS:00010246( R- -- I Z- -P- )
EAX:7bc9d7a7 EBX:b75e0ff4 ECX:0032fdcc EDX:7bc9d7a7
ESI:0032fc74 EDI:ffffffc8
Stack dump:
0x0032f6bc: 0032fc7c 7bc9d82e 0032fc58 b74a992c
0x0032f6cc: 0032fc7c 7bc9d82d 00000001 00000000
0x0032f6dc: 0032fc8c 7bc9d82d 00000001 00000001
0x0032f6ec: 7bc9d82d 00000000 00000000 00000001
0x0032f6fc: 7bc9d82d 00000000 00000000 00000000
0x0032f70c: 00000000 00000000 00000000 00000000
Backtrace:
=>0 0xb74a916a _IO_vfprintf+0x3a() in libc.so.6 (0x0032fc48)
1 0xb74cbdbb vsnprintf+0xca() in libc.so.6 (0x0032fc74)
2 0x7bc350f9 NTDLL_dbg_vprintf+0x56() in ntdll (0x0032fd90)
3 0xb761ab63 wine_dbg_printf+0x2e() in libwine.so.1 (0x0032fdc0)
4 0x7bc640e5 relay_call+0x113() in ntdll (0x0032fe10)
5 0x7b8224ad in kernel32 (+0x124ac) (0x0032fe60)
6 0x004075cd in exeinfope (+0x75cc) (0x0032fe60)
7 0x7b85de44 call_process_entry+0xb() in kernel32 (0x0032fe78)
8 0x7b85df8a start_process+0x143() in kernel32 (0x0032fec8)
9 0x7bc7a244 call_thread_func+0xb() in ntdll (0x0032fed8)
10 0x7bc7a282 call_thread_entry_point+0x33() in ntdll (0x0032ffb8)
11 0x7bc51ebc start_process+0x25() in ntdll (0x0032ffe8)
12 0xb761edb5 wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
0xb74a916a _IO_vfprintf+0x3a in libc.so.6: movl %gs:0x00000000,%ecx
--- snip ---
The protection scheme fiddles with %gs selector value which breaks TLS pointer
access through %gs:0 (Wine uses %fs) or the stack protector scheme that
Userland libs and Wine are built with (glibc provided __stack_chk_guard at
%gs:0x14).
My gcc 4.6.1 x86 host toolchain has -fstack-protector enabled by default hence
Wine gets the stack canary code in the binaries.
The Glibc here (Xubuntu 11.10) has stack smashing protection enabled by
default.
Even if Wine is built with "-fno-stack-protector" the app would still break
glibc %gs TLS code.
This is just a "collector" bug for apps that run into this issue.
WONTFIX obviously, there is no reliable way to know when to repair/restore %gs
value (and restarting faulting instruction).
Regards
--
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=28326
Summary: CDBurnerXP's audio player is missing some visual
elements
Product: Wine
Version: 1.3.27
Platform: x86-64
URL: http://cdburnerxp.se/download?more-options
OS/Version: Linux
Status: UNCONFIRMED
Severity: trivial
Priority: P2
Component: gdiplus
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: RandomAccountName(a)mail.com
Created an attachment (id=36293)
--> (http://bugs.winehq.org/attachment.cgi?id=36293)
Builtin/native gdiplus comparison screenshots
In CDBurnerXP, the audio player dialog does not display the elapsed playback
time, and the outer edges of the pseudo-LED showing the current track are also
missing. Both can be seen with native gdiplus. To reproduce the problem:
1. Use winetricks dotnet20 before installing
2. From the main menu, choose "audio disc"
3. Observe the appearance of the audio player above the upper-right corner of
the program window
--
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=15381
Summary: CoFreeUnusedLibraries will crash COM server or cause
0x800703E6/I_RpcReceive error 0x3e6
Product: Wine
Version: 1.0.0
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ole32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dmda(a)yandex.ru
Created an attachment (id=16230)
--> (http://bugs.winehq.org/attachment.cgi?id=16230)
demo illustrating the problem
if CoFreeUnusedLibraries is called by COM server, it will break RPC channcel
and lead to the errors
Attached is client/server code that demonstrates the problem.
If you comment out CoFreeUnusedLibraries call, it will start to work.
Steps:
-comple all 3 projects in the Workspace (Debug target is the only appropriate
for the sake of demo)
-make sure server and proxy are registered by running testserver.exe
-RegServer, regsvr32 testserverPS.dll
-run testproject.exe (the client)
Expected behaviour:
1. it will show server's message "CServer is created", click ok
2. it will show client's message "press OK when ready", click ok
3. it will show server's message passed by the client "Hello world!", click ok
4. it will show client's message "call succeeded" and client will exit
5. after roughly 6sec it will show that the server is unloaded/
Actual behaviour:
1. it will show server's message "CServer is created", click ok
2. it will show client's message "press OK when ready", click ok
3. it will show server's message passed by the client "Hello world!", click ok
4. it will dump out trouble in the console and show client's message "call
failed"
You may call CoFreeUnusedLibraries anywhere in the appartment and it will break
RPC on the server side. In some cases it will crash whole the server, like in
the demo.
Tested environment:
Fedora Core 8, 32bit, x86, wine 1.0 installed through the updates
--
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=12968
Summary: MS Visual Studio V6 setup error 258 since 0.9.58
Product: Wine
Version: 0.9.61.
Platform: All
OS/Version: Linux
Status: UNCONFIRMED
Severity: critical
Priority: P1
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: k.king177(a)ntlworld.com
trying to install Visual Studio v6 get MS Msgbox headed
"Setup Error 258"
with text
Your setup files may be damaged. Try restarting the setup program from where
you originally ran it.
this is probably related or from same issue causing bug# 12967 for Office 97
see that bug for environment details.
--
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=15948
Summary: Error generated when trying to install visual studio 6.0
into centos5 via wine
Product: Wine
Version: 1.1.7
Platform: PC-x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: enhancement
Priority: P4
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: boniemx(a)gmail.com
Created an attachment (id=17135)
--> (http://bugs.winehq.org/attachment.cgi?id=17135)
error-log for installation of visual studio 6.0 via wine into centos5
Hi, am trying to install Visual studio 6.0, but it produces the error that I
have attached. Please I need to do this urgently. Please help
--
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=31322
Bug #: 31322
Summary: Remote Tools for Visual Studio 2012 RC for Windows on
ARM (WoA) crashes because TPIDRURW (user TLS register)
TEB value is not preserved by kernel
Product: Wine
Version: 1.5.9
Platform: arm
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello,
split off from bug 31308 (see there for details).
TPIDRURW (user TLS register) TEB value is not preserved by kernel (currently
either reset to zero or left with same values across context switches).
Regards
--
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=15619
Summary: Visual Studio 2008 Installer Hangs after
err:seh:setup_exception_record stack overflow
Product: Wine
Version: 1.1.6
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: peterbelm(a)gmail.com
Created an attachment (id=16642)
--> (http://bugs.winehq.org/attachment.cgi?id=16642)
Terminal output
When running the Visual Studio 2008 installer the setup window appears, and
starts loading installation components, after about 30 seconds full processor
usage, err:seh:setup_exception_record stack overflow appears in the terminal
output (see attachment) the progress bar increases slightly, and then it seems
to hang.
Checking with strace on the setup.exe process (the main one, the other one
gives me 'Operation not permitted', even when sudo'ing it) shows it is waiting
to read from a pipe, which is red when doing 'ls -l', I assume that means the
pipe doesn't exist any more?
--
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=29905
Bug #: 29905
Summary: Microsoft Visual Studio 2008: attaching to process
fails with "unknown error: 0x80070003" (support of
"Session" namespace for named objects needed)
Product: Wine
Version: 1.4-rc3
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: wineserver
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello,
prerequisite: 'winetricks -q dotnet30'
Unfortunately for installation of Visual Studio 2008 Professional/Enterprise
editions you have to resort to hacks.
NOTE: Remote debugging capability is not available in Visual Studio 2005/2008
express editions (free for download).
Bug 29354 (installer fails due to ProductID being set during client side
"ValidateProductID" standard action -> don't set property)
Bug 10601 (GAC API for managed assembly installation needs reparse
point/junction API support -> force
msi_install_assembly()/IAssemblyCache_InstallAssembly to succeed on failure)
The installer still fails in the end but it's enough to have a "half" usable
IDE/build environment (.NET Framework 3.5 and some .NET service packs get
skipped due to Mono registry/fake mess while other components fail to install).
Unlike Visual Studio 2005 which uses wtsapi (bug 29903), Visual Studio 2008
retrieves the process list by different means and displays the process in
"standard" transport mode.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Microsoft Visual Studio 9.0/Common7/IDE
$ wine ./devenv.exe
--- snip ---
1) Menu "extras" -> "attach to process"
2) select one process, click "attach"
It starts the debugging environment but fails half-through with "unknown error:
0x80070003"
--- snip ---
...
0082:Call KERNEL32.ProcessIdToSessionId(00000085,0032e5f0) ret=3f083224
0082:Ret KERNEL32.ProcessIdToSessionId() retval=00000001 ret=3f083224
...
0082:Call
KERNEL32.CreateFileMappingW(ffffffff,0032e604,00000004,00000000,0000003c,0032e610
L"Session\\0\\Microsoft_VS90_causality_sharedmemory-133") ret=3f089149
0082:Ret KERNEL32.CreateFileMappingW() retval=00000000 ret=3f089149
0082:Call KERNEL32.GetLastError() ret=3f08897a
0082:Ret KERNEL32.GetLastError() retval=00000003 ret=3f08897a
...
0082:Call
KERNEL32.FormatMessageW(00001300,00000000,80070003,00000400,0032e638,00000000,00000000)
ret=3f2b9072
0082:Ret KERNEL32.FormatMessageW() retval=00000000 ret=3f2b9072
...
0082:Call oleaut32.SysAllocString(03d19b60 L"Der Vorgang wird nicht
unterst\00fctzt. Unbekannter Fehler: 0x80070003.") ret=3f247a9f
...
--- snip ---
For communication between target and debugger a shared memory location is
created.
The shared memory (file mapping) is created using a special namespace syntax:
"Session\\0\\Microsoft_VS90_causality_sharedmemory-133"
Wineserver doesn't support "Session\<id>" yet, hence CreateFileMappingW()
fails.
(another run with +server):
--- snip ---
0009: create_mapping( access=000f000f, attributes=00000080, protect=00000043,
size=0000003c, file_handle=0000,
objattr={rootdir=0010,sd={control=00000004,owner=<not present>,group=<not
present>,sacl={},dacl={{AceType=ACCESS_ALLOWED_ACE_TYPE,Mask=10000000,AceFlags=0,Sid={S-1-5-21-0-0-0-1000}}}},name=L"Session\\0\\Microsoft_VS90_causality_sharedmemory-18"}
)
0009: create_mapping() = OBJECT_PATH_NOT_FOUND { handle=0000 }
--- snip ---
Source:
http://source.winehq.org/git/wine.git/blob/ba715798094896e8b98fc5803e16b00f…
"Kernel Object Namespaces":
http://msdn.microsoft.com/en-us/library/aa382954.aspx
--- quote ---
...
In addition to the "Global\" prefix, client processes can use the "Local\"
prefix to explicitly create an object in their session namespace. These
keywords are case sensitive.
The "Session\" prefix is reserved for system use and you should not use it in
names of kernel objects.
...
<user comments>
This documentation effectively states that 'Global', 'Local' and 'Session' are
all valid as name prefixes (but not as names).
There appears to be no documentation that says 'Session' cannot be used as a
prefix or that it is reserved for use as a prefix.
By referring to 'Session' as it does, it strongly implies that this a fully
legal and valid way to enable applications in one session to interact with
applications in another session.
I think Microsoft should consider adding more detail about whether 'Session' is
or is not valid for use by developers, and if so exactly what it can and cannot
be used for.
[user reponse] Global\ refers to the Global Namespace, Local\ refers to the
current session's namespace, Session\x\ refers to x's namespace where x is the
session id (not LUID or anything special, just a counter)
--- quote ---
"Memory mapped files from XP to Vista"
http://blogs.msdn.com/b/maartenb/archive/2008/05/07/memory-mapped-files-fro…
--- quote ---
... Online search for "sessions\1\basenamedobject" gives hits that point to
Terminal Services. There appear to be Local Global and Session namespaces. So
prior to Vista and Server 2008 all services shared the same namespace as the
first user logging in to the machine. This was session 0. With Vista this is no
longer the case. Just like all compatibility issues it is explained in the
cookbook.
--- quote ---
There is a workaround for this problem.
You can force a "normal" shared memory mapping name by setting to WinVer to
"Windows 2000" prior running the IDE.
Some components don't really support running WinVer < "Windows XP" anymore
hence this might break some stuff (VS2008 refuses to install with W2K mode).
At least this prevents the error message when attaching.
It doesn't really break/pause the remote process (might be bug 25462).
Regards
--
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=24583
Summary: Wine 1.3.3 can't run Visual Studio 2008 (VC9)
installer
Product: Wine
Version: 1.3.3
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: simons(a)cryp.to
Created an attachment (id=31046)
--> (http://bugs.winehq.org/attachment.cgi?id=31046)
Output printed by wine while attempting to run the installer
I ran the installer of the full version (not VC express) using the latest
release of wine. The installer starts up and works for a while, but ultimately
it aborts with an unhandled exception.
--
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.