http://bugs.winehq.org/show_bug.cgi?id=9506
Summary: One-line Java program causes screen to go black
Product: Wine
Version: CVS/GIT
Platform: Other
OS/Version: other
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: wine-directx-ddraw
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
Hey, kids, try this! (Works with any JVM, but let's use a recent one.)
1. Create the file bug.java containing
import java.awt.Frame;
public class bug {
public static void main(String[] args) {
Frame f = new Frame(); // causes whole screen to go black in wine!
}
}
2. Compile it using any java compiler:
javac bug.java
3. Download a JDK from java.sun.com and install it in Wine
4. Use it to run bug.class, e.g.
cd '.wine/drive_c/Program Files/Java/jre1.6.0_01'
cp ~/bug.class .
wine bin/java.exe bug
5. Note that entire primary display goes black (second display, if any,
doesn't).
This is really annoying - you have to move your other windows around
to get them to redraw.
This may be the same as bug 4902, but this seems simpler to reproduce.
Next step would be the corresponding trivial C file...
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10117
Summary: Mpeg2Schnitt doesn't display video since wine v. 0.9.16
Product: Wine
Version: 0.9.47.
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-directx-ddraw
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jussaar(a)mbnet.fi
Created an attachment (id=8682)
--> (http://bugs.winehq.org/attachment.cgi?id=8682)
Full output of wine when running Mpeg2Schnitt
Since wine version 0.9.16, Mpeg2Schnitt (a program for cutting mpeg2-files) has
stopped showing video. This of course makes choosing the right cut points
virtually impossible.
When the program should display the video, wine prints out the following
errors:
fixme:win:EnumDisplayDevicesW ((null),0,0x34f544,0x00000000), stub!
err:ddraw:IDirectDrawImpl_SetDisplayMode Width=0, Height=0, what to do?
I have tested both multiple versions of wine (including the newest
0.9.47-version) and Mpeg2Schnitt (versions 0.71, 0.80 and 0.87).
Mpeg2Schnitt is distributed under GPL2 license and available for download at
http://www.mdienert.de/mpeg2schnitt/
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10065
Summary: MSN Messenger Doesn't Show New Conversation Windows
Product: Wine
Version: 0.9.47.
Platform: PC
URL: http://www.microsoft.com/downloads/details.aspx?familyid
=CF49C56C-8B3E-4EAE-9904-9505F47BED45&displaylang=en
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-ole
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jaimerave(a)gmail.com
Created an attachment (id=8623)
--> (http://bugs.winehq.org/attachment.cgi?id=8623)
This is what the console shows when the error happens.
When someone talk to you and you haven't open a window whit that person, the
window is not showed. You had to open a window with all your contacst until you
find the one who write you.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=9913
Summary: Blue Wish Resurrection: crashes when loading program
Product: Wine
Version: 0.9.46.
Platform: PC-x86-64
URL: http://www004.upp.so-
net.ne.jp/x_xgameroom/Works/works.html
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-ole
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: 07067514(a)brookes.ac.uk
Created an attachment (id=8413)
--> (http://bugs.winehq.org/attachment.cgi?id=8413)
console output
When loading Blue Wish Resurrection the program displays a black rectangle,
then crashes. Attached is the console output.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10236
Summary: Jazz Jackrabbit 2: Access Violation at 7DFC3B16h
Product: Wine
Version: unspecified
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: wine-programs
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jmetal88(a)sbcglobal.net
Jazz Jackrabbit 2 installs beautifully, but after the splash screen at the
beginning of the game, it crashes with an error. In the most recent version of
Wine (obtained via WineCVS.sh, changelog last dated 2007-10-26) the error
reads:
Jazz Jackrabbit 2 has caused an access violation at address 7DFC3B16h by
attempting to "read" from address 000006F8h.
In 0.9.47:
Jazz Jackrabbit 2 has caused an access violation at address 7E176AB6h by
attempting to "read" from address 000006F8h.
In 0.9.46:
Jazz Jackrabbit 2 has caused an access violation at address 7E216856h by
attempting to "read" from address 000006F8h.
In 0.9.45:
Program runs as it should.
In 0.9.44:
Jazz Jackrabbit 2 has caused an access violation at address 00000000h by
attempting to "read" from address 00000000h.
In 0.9.43:
Program runs as it should.
In 0.9.42:
Program runs as it should.
So, something broke it in 0.9.44, fixed it in 0.9.45, and broke it again in
0.9.46 through the current version. Also, the address at which the access
violation occurs changes each time I run the program (in 0.9.46 and after) and
doesn't seem to actually have anything to do with which version of Wine is
installed.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10463
Summary: Steam install MSI fails to finish
Product: Wine
Version: CVS/GIT
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-msi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: tehblunderbuss(a)gmail.com
Steam's MSI installer fails to finish, with a dialog box saying so.
Terminal output attached
Regression tested to:
a97d6556a42ed3119aaf3f312a6a436a59db9fa0 is first bad commit
commit a97d6556a42ed3119aaf3f312a6a436a59db9fa0
Author: Alexandre Julliard <julliard(a)winehq.org>
Date: Thu Nov 15 11:31:17 2007 +0100
wine.inf: Register inetcomm.dll.
:040000 040000 16f74bb7a532b8a12dcaf5d99b4ab495feb2ad25
3bacb4140a6d3c88691b28282f68181fd38e2d0d M tools
I'm fairly certain this is the one.
While regression testing, I did encounter an anomaly that showed neither the
"good" outcome, nor the failed message, so I marked that bisect as "good"
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10112
Summary: BitBlt between 8 bit color index DIBs wrong
Product: Wine
Version: CVS/GIT
Platform: Other
OS/Version: other
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-x11driver
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: alexd14(a)hushmail.com
Created an attachment (id=8678)
--> (http://bugs.winehq.org/attachment.cgi?id=8678)
test case
BitBlt from one 8 bit DIB to another 8 bit DIB produces wrong results. I'll
attach a simple test case that illustrates the problem. What it does: creates
two 8 bit, color index dib sections with a color table where color index 1 =
red, 2 = blue, 3 = green. Then it fills first DIB with 1 (red) and second with
2 (blue). It then does a BitBlt with SRCPAINT (OR) ROP from first DIB to
second. Finally, this DIB is drawn in a window, and a hex value of the first
pixel is drawn over it for convenience.
In such BitBlt Windows, apparently, operates on DIB pixels as color index
values w/o palette lookup; 1 OR 2 == 3, so it fills destination DIB pixels with
3, and, consequently, it is displayed as a green rectangle.
In Wine, this operation works like actual RGB values (red and blue) from
palettes are getting combined, and it's displayed as a magenta rectangle.
Probably, because wine seems to convert it to truecolor pixmaps internally.
Pixels as stored in memory become zeros.
Real app affected by it: igonwin.exe in bug #201
(http://bugs.winehq.org/show_bug.cgi?id=201). I don't have other apps that use
color index dibs to test, but I think any apps that use such DIBs AND "fancy"
ROPs (XOR, AND, OR etc) may be affected.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10273
Summary: satisfy SafeDisc 2.x heuristic API analyzer by
"adjusting" API exports/entry statistics of wine
builtins
Product: Wine
Version: CVS/GIT
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: wine-kernel
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Created an attachment (id=8924)
--> (http://bugs.winehq.org/attachment.cgi?id=8924)
Patch which should fix SafeDisc 2.x copy protection api analyzer issue
Hello,
if not interested in technical details goto (2) ;-)
I made this a separate bug report like
http://bugs.winehq.org/show_bug.cgi?id=9925 (SafeDisc 1.x stopper) because
SafeDisc has many flavors that differ in various technical ways and can't be
discussed/handled in a single SafeDisc "metabug" like
http://bugs.winehq.org/show_bug.cgi?id=219
SafeDisc Major version based separation allows better tracking of "completion"
state (1.x/2.x/3.x/4.x).
-----------
(1)
It took me a couple of days to get an idea what SafeDisc 2.x really does with
the API exports and to find a way to cope with it...
Various anti-debugging techniques and nasty runtime code obfuscation made this
journey somewhat challenging.
Parts of SafeDisc 2.x analyze the API code of the following system libraries:
kernel32.dll (wine builtin)
user32.dll (wine builtin)
gdi32.dll (wine builtin)
cdasdtst.dll (developer backdoor?)
The latter one is probably a "developer backdoor", used to verify their
code/algorithms (not needed to be present).
For each of these libraries all named exports are taken into account.
A number of API entry opcode sequences are read and used for statistical
analysis (number depends on type of encountered opcodes).
>From what I've seen there is some kind of "behavioural probability" of each API
entry calculated, with typical opcode sequences having a "weighting".
Just think of advanced heuristic detection methods of antivirus scanners and
you get the idea ;-).
Anyway, wine's builtin libraries differ in their signatures from windows entry
code and to make things worse, wine's +relay/+snoop feature heavily interferes
with the analyzer results. :-(
First I made some experiments with additional (dummy) function exports, small
__asm__ wrappers with opcode sequences to see how the distribution of opcodes
influences the analyzer results.
The result was rather disappointing.
I needed a large number of exports to gain some results but not significantly
enough to get below the "bad" threshold.
Then I came across the magic "0" value. As soon as I used this value either as
first .byte on API entry or init value for data export, the entry scan was
short circuited.
This value seemed to have the highest influence of all code/data sequences
used.
I added quite a number of data exports - aliased to initialized "0" value -
safe enough to let even wine's +relay work (remember: relay code influences
analyzer).
If you look at the patch don't get mad ;-)
You will see a crapload of named "__wine_safedisc2" data exports/aliases added
to wine builtin kernel32, user32 and gdi32.
For the record: http://bugs.winehq.org/show_bug.cgi?id=9926 which talks about
"problematic" gdi32 data exports (pfnPalette stuff) in SafeDisc 3.x.
SafeDisc 2.x code triggers SEH upon exported function pointers too but this is
gracefully handled. No harm at all.
I wonder if this is really a problem in SafeDisc 3.x ...
I thought about other possible solutions but found no one easier to implement
to prove my findings without hurting wine too much :-)
Making wrappers of the whole kernel32, user32, gdi32 named exports API just to
please the entry analyzer is not an option to me.
Another way could be the relocation of export table upon module loading,
expanding it at runtime by adding the required number of "statistics fakers"
(data exports with zero init).
This requires modifying the ntdll loader .. though i'm not sure if this
approach breaks other applications/braindamaged PE protection stuff which
expect certain conditions to be met (tables present at specific sections/memory
areas).
------------------------------
(2)
Well, take it as proof of concept. Play with it.
I tested my patch with a few SafeDisc 2.x games I have original media.
No cracks/no-cd patches were used.
Only official game patches were used.
Battlefield 1924 (1.6x) - SafeDisc 2.6/2.8
Road To Rome (BF1942 expansion) - SafeDisc 2.8
Battlefield Vietnam - SafeDisc 2.9
All of these work fine for me with the patch applied.
Please test this patch on many SafeDisc 2.x games as possible and report your
results (works or works not).
Make sure you have original media mounted and drive/data is visible within
wine.
If it fails for first time, the media might not ready yet, try again then (I
experienced this sometimes).
Use this link to verify what SafeDisc Version is used:
http://www.120search.net/ (alcohol software copy protection database)
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=9798
Summary: bioshock demo needs glsl enabled
Product: Wine
Version: CVS/GIT
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-directx-d3d
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Created an attachment (id=8240)
--> (http://bugs.winehq.org/attachment.cgi?id=8240)
crash log with glsl disabled
Hello,
Bioshock demo crashes if glsl is not enabled.
Attached are relevant traces made with:
WINEDEBUG=+seh,+tid,+d3d,+d3d_shader wine ./Bioshock.exe -dx9
Using following registry settings enables bioshock demo to run:
--- snip ---
HKEY_CURRENT_USER/Software/Wine/Direct3D
UseGLSL = "enabled"
--- snip ---
Optional: OffscreenRenderingMode = "fbo"
==================
Addendum:
wine --version
wine-0.9.45-406-g2ba3247
Currently uses secuROM hack (http://bugs.winehq.org/attachment.cgi?id=8235
) to run, see http://bugs.winehq.org/show_bug.cgi?id=7065
Be sure to include "-dx9" command line to work around directx 10 issue.
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=10225
Summary: SafeDisc 2.x triggers async device ioctl status code
propagation bug in wine server
Product: Wine
Version: CVS/GIT
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: wine-kernel
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Created an attachment (id=8843)
--> (http://bugs.winehq.org/attachment.cgi?id=8843)
relevant trace which shows ioctl status code propagation bug
Hello,
while testing my proof-of-concept patch which makes SafeDisc v2 (yuck!) finally
work, I stumbled across a nasty ioctl status code propagation (completion) bug
in wine server.
Wasted several hours on it .. I was suspecting SD issue whole time, but its a
wine server bug :(
Attached is relevant trace (WINEDEBUG=+seh,+tid,+relay,+ntoskrnl,+server wine
./BfVietnam.exe)
Before the bug is triggered, the SafeDisc security driver makes several device
ioctl requests which return 0xC0000001 (unsuccessful) on purpose, e.g. reading
debug Drx registers with index that does not exist.
This is intended to fool reversers :-)
The next operation - checking IDT entries should succeed - but does not (as
seen from calling client).
The kernel driver completes the operation successfully and returns
irp.IoStatus.u.Status == 0 with xxxx bytes in output buffer.
I verified it several times by debugging the kernel driver.
Upon driver ioctl call return, get_next_device_request() is triggered again in
ntoskrnl event loop which sets the return data (and status code) ->
set_ioctl_result().
This queues an APC, waking up the client (alertable state).
The client process device ioctl completes with 0 (FALSE) which is wrong.
Further debugging showed that ioctl_completion APC (dlls/ntdll/file.c) returns
the errornous status code in get_ioctl_result() when woken up by server.
This error is then propagated in server_ioctl_file() to result in wrong
NtDeviceIoControlFile() return code.
What puzzled me is that "ioctl->status" is correctly set by set_ioctl_result()
(=0) but get_ioctl_result() - called within client context - yields the
previous error code (0xC0000001 of failed request).
This is either a problem of global vs. thread local error status (global_error
vs. current->error/thread) or the ioctl call data is the wrong one.
The following patch works for me, letting SD 2.x continue - though i'm not sure
if it's right:
--- snip ---
diff --git a/server/device.c b/server/device.c
index 46b2796..8fe8f7c 100644
--- a/server/device.c
+++ b/server/device.c
@@ -528,7 +528,7 @@ DECL_HANDLER(get_ioctl_result)
ioctl->out_data = NULL;
}
}
- set_error( ioctl->status );
+
list_remove( &ioctl->dev_entry );
release_object( ioctl ); /* no longer on the device queue */
}
--- snip ---
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.