Performing a Regression Test

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Performing a Regression Test

Post by zac »

Hello everyone!

I've been trying to perform a regression test, following the instructions at http://wiki.winehq.org/RegressionTesting . I've never done this before, and looks really complicated to me, but I must do it.

I suppose I've just finished compiling Wine. I ran 'CC="ccache gcc" ./configure --verbose && make depend && make' and then a lot of stuff happened and now it's over.

The next step seems to be to 'test for the bug'. I read the following note, but I'd really appreciate if someone could help me understand it a bit better, 'cause I'm new to this:
It is not a good idea to run make install after compiling as you'll be testing several different versions of Wine, and it may interfere with any already-installed Wine. To make sure that you're running the right Wine, use the full path to it (i.e. ~/wine-git/wine instead of just wine).
Once Wine's compiled, test for the bug. To be safe, we want to test with a clean .wine directory.
I'm sorry, but... What exactly should I do now to perform the test with a clean .wine directory? I don't really understand this very well. Should I try to install the software I'm running with each version of wine? How exactly? What exactly is a clean .wine directory?

Sorry to disturb you with so many basic questions...

Thank you very much for your attention and help!

Zac
James_Huk
Level 2
Level 2
Posts: 45
Joined: Tue Feb 23, 2010 4:59 pm

Post by James_Huk »

I'm sorry, but... What exactly should I do now to perform the test with a clean .wine directory? I don't really understand this very well. Should I try to install the software I'm running with each version of wine? How exactly? What exactly is a clean .wine directory?
That would be perfect - but it is usually not required - try something like this:

While in freshly compiled wine directory type in console:

./wine start /Unix /path/to/the/program/you/want/to/test.exe

or

WINEPREFIX=/path/to/prefix/you/use ./wine start /Unix /path/to/the/program/you/want/to/test.exe

And look for the bug - then follow the guide at wiki.
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Hi James, thank you for your input!

I'm sorry... I compiled wine from this directory: debian:/home/zac/wine-git#

You mean I should simply run that command from this very directory? When you say 'while in freshly compiled wine directory', I'm not really sure if I know what you mean... My fault, of course. I'm doing this for the first time. I suppose it is from the directory above, since I compiled wine from there.

Well... if yes... this is what I get.

Code: Select all

 debian:/home/zac/wine-git# ~./wine start /Unix /home/zac/.wine/drive_c/Program\ Files/Houaiss/Houaiss.exe
bash: ~./wine: No such file or directory
Am I doing anything wrong.

As to the other suggestion you gave me, I don't really know which prefix I use... :-/ But I can do a little research on the web to find out what that is.

Thank you very much for your help!
Zac
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

I realized I was doing something really foolish. Because of my lack of experience, I had copied the command wrongly...

How about this? Any better?

Code: Select all

zac@debian:~/wine-git$ ./wine start /Unix /home/zac/.wine/drive_c/Program\ Files/Houaiss/Houaiss.exe
wine client error:0: version mismatch 0/395.
Your wineserver binary was not upgraded correctly,
or you have an older one somewhere in your PATH.
Or maybe the wrong wineserver is still running?
I don't know what to think or do... Could anyone help me understand this?

Thanks!
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

I starting to think I didn't finish compiling...
I decided to run make install...

Code: Select all

zac@debian:~/wine-git$ make install
make[1]: Entering directory `/home/zac/wine-git/tools'
make[1]: `makedep' is up to date.
make[1]: Leaving directory `/home/zac/wine-git/tools'
make[1]: Entering directory `/home/zac/wine-git/libs/port'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/zac/wine-git/libs/port'
make[1]: Entering directory `/home/zac/wine-git/libs/wine'
version=`(GIT_DIR=../../.git git describe HEAD 2>/dev/null || echo "wine-1.1.39") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
make[1]: Leaving directory `/home/zac/wine-git/libs/wine'
make[1]: Entering directory `/home/zac/wine-git/libs/wine'
version=`(GIT_DIR=../../.git git describe HEAD 2>/dev/null || echo "wine-1.1.39") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
/usr/bin/install -c   libwine.so.1.0 /usr/local/lib/libwine.so.1.0
/usr/bin/install: cannot create regular file `/usr/local/lib/libwine.so.1.0': Permission denied
make[1]: *** [install-lib-so] Error 1
make[1]: Leaving directory `/home/zac/wine-git/libs/wine'
make: *** [libs/wine/__install__] Error 2

I'm completely lost!
Hope someone can help me soon...
James McKenzie

Performing a Regression Test

Post by James McKenzie »

zac wrote:
I starting to think I didn't finish compiling...
I decided to run make install...


Code:

zac@debian:~/wine-git$ make install
Should be

sudo make install.

/usr is usually owned and controlled by root.

James McKenzie
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

So, I ran this command:

CC="ccache gcc" ./configure --verbose && make depend && make

Then this long complicated process started with a lot of terminal output. Then it finished.

Is that it? Is so called 'compiling' over?? I suppose not!

I'm struggling with this, and cannot move on. I was reading the README document at /wine-git, and that's why I decided to run make uninstall, and then make install. But I just don't know what is this that I'm doing. The wiki guide says this is not a good idea, while the README file says I should do it... Or maybe I misunderstood it all! :shock:

What is 'mv ~/.wine ~/.wine-backup'

Why is it the next step at http://wiki.winehq.org/RegressionTesting?

Do I need to uninstall my older version of wine?

Please help...
User avatar
dimesio
Moderator
Moderator
Posts: 13373
Joined: Tue Mar 25, 2008 10:30 pm

Post by dimesio »

zac wrote:So, I ran this command:

CC="ccache gcc" ./configure --verbose && make depend && make

Then this long complicated process started with a lot of terminal output. Then it finished.

Is that it? Is so called 'compiling' over??
Yes.
I'm struggling with this, and cannot move on. I was reading the README document at /wine-git, and that's why I decided to run make uninstall, and then make install. But I just don't know what is this that I'm doing. The wiki guide says this is not a good idea, while the README file says I should do it... Or maybe I misunderstood it all! :shock:
You should NOT make install when running a regression test. Run the Wine you've compiled from the wine-git directory.
What is 'mv ~/.wine ~/.wine-backup'
That renames ~/.wine to ~/.wine-backup. This way you can test your app in a clean wineprefix, and when you're done, just restore your old one by renaming it back to ~/.wine.
Do I need to uninstall my older version of wine?
No, because you're not installing the version you compiled.
James McKenzie

Performing a Regression Test

Post by James McKenzie »

dimesio wrote:
zac wrote:
So, I ran this command:

CC="ccache gcc" ./configure --verbose && make depend && make

Then this long complicated process started with a lot of terminal output. Then it finished.

Is that it? Is so called 'compiling' over??
Yes.

I'm struggling with this, and cannot move on. I was reading the README document at /wine-git, and that's why I decided to run make uninstall, and then make install. But I just don't know what is this that I'm doing. The wiki guide says this is not a good idea, while the README file says I should do it... Or maybe I misunderstood it all! [Shocked]
You should NOT make install when running a regression test. Run the Wine you've compiled from the wine-git directory.


What is 'mv ~/.wine ~/.wine-backup'
That renames ~/.wine to ~/.wine-backup. This way you can test your app in a clean wineprefix, and when you're done, just restore your old one by renaming it back to ~/.wine.


Do I need to uninstall my older version of wine?
No, because you're not installing the version you compiled.
dimensio:

He did try make install, which may have corrupted part of his Wine
installation.

HOWEVER, everything else you wrote is true.

Here is how to do this:

cd to wine-git.

git bisect start
git bisect good <wine-tag where program worked>
git bisect bad <wine-tag where program stopped working>

Where wine-tag is a wine version like wine-1.1.39 or wine-1.1.6

then you run ./configure && make deps && make

DO NOT RUN make install.

Then cd $HOME

mv wine{,.backup}

cd to the directory with the test program

/<location of wine-git>/wine <program to install test program>

example

/opt/local/wine-git/wine setup.exe

if you want to capture a log file example:

/opt/local/wine-git/wine setup.exe > logging_file.log 2>&1

Switch to the directory where the program installed:

cd $HOME/.wine/drive_c/Program\ Files/<Install\ Directory>

Note: spaces have to be 'escaped' with a backslash.

run the program substituting the exe name in either of the above
examples. I recommend renaming the logging file as well to separate
between installation and actual program runs.

cd <wine-git directory>
make clean

If the program runs:

git bisect good

If the program does NOT run:

git bisect bad

repeat until you get a message that states which commit is 'bad'. Now,
here comes the part that confuses most people, this MAY NOT be the
actual bad commit.

run:

make clean
git reset --hard
git show <commit number, usually a 32 alphanumeric> | patch -p1 -R

./configure && make deps && make

If your program runs, you found the problem! If not, you have more work
to do. Rerun the git bisect series again....(but remember you removed
the first bad commit.)

I had to do this three times when I had a problem. Fortunately, the fix
was already in git and I just had to skip a few releases of Wine.

Good luck and happy bug hunting.

James McKenzie

Run your program again. If it runs without the
Charles Davis

Performing a Regression Test

Post by Charles Davis »

On 3/4/10 8:05 PM, zac wrote:
What is 'mv ~/.wine ~/.wine-backup'
~/.wine is the default "Wine prefix". This is where Wine puts a virtual
Windows installation. What they want you to back up this Wine prefix by
MoVing it to some other location.
Why is it the next step at http://wiki.winehq.org/RegressionTesting?
That way, it doesn't get destroyed by your regression testing.
Do I need to uninstall my older version of wine?
Not really. You should just be able to install over it.

In fact, why bother? You can just run Wine directly from the source
tree. If you'll notice, after Wine finishes building, there's a file
'wine' in the root of the source tree. It works just like any other
'wine' binary.

Chip
James_Huk
Level 2
Level 2
Posts: 45
Joined: Tue Feb 23, 2010 4:59 pm

Post by James_Huk »

As for this error:

Code: Select all

wine client error:0: version mismatch 0/395. 
Your wineserver binary was not upgraded correctly, 
or you have an older one somewhere in your PATH. 
Or maybe the wrong wineserver is still running?
it usually mean that other wine version is already running, so if you get this error again just kill wineserver with command:

wineserver -k

or

WINEPREFIX=/path/to/your/prefix wineserver -k

and then retry running your app from directory where you compiled wine like this:

./wine start /Unix /path/to/the/program/you/want/to/test.exe

or

WINEPREFIX=/path/to/prefix/you/use ./wine start /Unix /path/to/the/program/you/want/to/test.exe

OR

form the application directory (where the EXE of your app is located) like this:

/path/to/wine-git/wine appname.exe

or

WINEPREFIX=/path/to/your/prefix/ /path/to/wine-git/wine appname.exe

NOTE:

As for compilation process - if it is finished correctly there should be a message saying "wine build completed" or something similar.
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Wow!
That's a lot of useful input!!

I've been REALLY nice and helpful!

I need to study everything you guys said and put it all into practice, and then I'll post the results here!

Thank you so much!!!
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

This is what get I buy running the command taught at the wiki to install the app from scratch. A full screen installation started and crashed.

Code: Select all

zac@debian:~/wine-git$ ./wine /media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 21/02/2010, dlt (d/m/y): 17/10/2010
Terminated
zac@debian:~/wine-git$

And this is what I got from running the command suggest by James_Huk:

Code: Select all

zac@debian:~/wine-git$ ./wine start /Unix/ media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe
err:start:wmain Option 'L"/"' not recognized
Start a program, or open a document in the program normally used for files with that suffix.
Usage:
start [options] program_filename [...]
start [options] document_filename

Options:
/M[inimized] Start the program minimized.
/MAX[imized] Start the program maximized.
/R[estored]  Start the program normally (neither minimized nor maximized).
/W[ait]      Wait for started program to finish, then exit with its exit code.
/Unix        Use a Unix filename and start the file like windows explorer.
/ProgIDOpen  Open a document using the following progID.
/L           Show end-user license.

start.exe version 0.2 Copyright (C) 2003, Dan Kegel
Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.
This is free software, and you are welcome to redistribute it
under certain conditions; run 'start /L' for details.
So, I couldn't really install the software.
So, I started testing:

Code: Select all

debian:/home/zac/wine-git# git bisect start
Already on "master"
debian:/home/zac/wine-git# git bisect good wine-1.0.1
debian:/home/zac/wine-git# git bisect bad wine-1.1.39
Bisecting: 9695 revisions left to test after this
[23acdb7143569e2c0839f6f88c4462f2ed98068b] gdi32: Correctly handle space char on Path_ExtTextOut().
debian:/home/zac/wine-git#       

Am I going in the right direction at least?

Thanks!
James_Huk
Level 2
Level 2
Posts: 45
Joined: Tue Feb 23, 2010 4:59 pm

Post by James_Huk »

@zac:

Not:

./wine start /Unix/ media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe

but:

./wine start /Unix /media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe

there in no slash ("/") after "/Unix" option - try again.
James Mckenzie

Performing a Regression Test

Post by James Mckenzie »

zac <[email protected]> wrote:
This is what get I buy running the command taught at the wiki to install the app from scratch. A full screen installation started and crashed.


Code:

zac@debian:~/wine-git$ ./wine /media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default
Interesting result here as xrandr could not determine your screen mode. Try running xrandr and report back the results. This is not a Wine product error, but Wine calls xrandr to determine screen parameters.
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 21/02/2010, dlt (d/m/y): 17/10/2010
Terminated
zac@debian:~/wine-git$





And this is what I got from running the command suggest by James_Huk:



Code:
zac@debian:~/wine-git$ ./wine start /Unix/ media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe
err:start:wmain Option 'L"/"' not recognized
Start a program, or open a document in the program normally used for files with that suffix.
Usage:
start [options] program_filename [...]
start [options] document_filename

Options:
/M[inimized] Start the program minimized.
/MAX[imized] Start the program maximized.
/R[estored] Start the program normally (neither minimized nor maximized).
/W[ait] Wait for started program to finish, then exit with its exit code.
/Unix Use a Unix filename and start the file like windows explorer.
/ProgIDOpen Open a document using the following progID.
/L Show end-user license.

start.exe version 0.2 Copyright (C) 2003, Dan Kegel
Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.
This is free software, and you are welcome to redistribute it
under certain conditions; run 'start /L' for details.



So, I couldn't really install the software.
So, I started testing:


Code:

debian:/home/zac/wine-git# git bisect start
Already on "master"
debian:/home/zac/wine-git# git bisect good wine-1.0.1
debian:/home/zac/wine-git# git bisect bad wine-1.1.39
Bisecting: 9695 revisions left to test after this
[23acdb7143569e2c0839f6f88c4462f2ed98068b] gdi32: Correctly handle space char on Path_ExtTextOut().
debian:/home/zac/wine-git#
You are on a good start. However, James Huk's command line is incorrect. See my comment above.

James McKenzie
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

James McKenzie, for the xrandr output:

Code: Select all

zac@debian:~/wine-git$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1600 x 1600
VGA connected 1024x768+0+0 (normal left inverted right x axis y axis) 310mm x 230mm
   1280x800       60.0
   1280x768       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
  1024x768 (0x4c)   94.5MHz
        h: width  1024 start 1072 end 1168 total 1376 skew    0 clock   68.7KHz
        v: height  768 start  769 end  772 total  808           clock   85.0Hz
Ok, after running

git bisect start
git bisect good <wine-tag where program worked>
git bisect bad <wine-tag where program stopped working>

I ran ./configure && make deps && make (I pasted this line on the terminal).

when configure was over I got a message (which I forgot to copy) saying something about the rest of the command above (I guess only ./configure ran properly), and I should run make depend && make, if I remember well. That's what I did... I suppose compiling restarted. If I understand it well, I was compiling wine again, but with a different configuration, after the bisecting (is that right?). When this was over I tried to install the test software (Houaiss) again:

(sorry, it's a lot of code)

Code: Select all

zac@debian:~/wine-git$ ./wine /media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe
wine: Call from 0x7b844800 to unimplemented function user32.dll.UserRegisterWowHandlers, aborting
err:module:attach_process_dlls "user32.dll" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\system32\\winemenubuilder.exe" failed, status 80000100
wine: Call from 0x7b844800 to unimplemented function user32.dll.UserRegisterWowHandlers, aborting
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for 80000100
err:module:DelayLoadFailureHook failed to delay load user32.dll.BroadcastSystemMessageW
wine: Call from 0x7b844800 to unimplemented function user32.dll.BroadcastSystemMessageW, aborting
wine: Unimplemented function user32.dll.BroadcastSystemMessageW called at address 0x7b844800 (thread 0017), starting debugger...
wine: Call from 0x7b844800 to unimplemented function user32.dll.UserRegisterWowHandlers, aborting
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for 80000100
err:module:DelayLoadFailureHook failed to delay load setupapi.dll.InstallHinfSectionW
wine: Call from 0x7b844800 to unimplemented function setupapi.dll.InstallHinfSectionW, aborting
wine: Unimplemented function setupapi.dll.InstallHinfSectionW called at address 0x7b844800 (thread 000b), starting debugger...
Unhandled exception: unimplemented function user32.dll.BroadcastSystemMessageW called in 32-bit code (0x7b84486b).
Unhandled exception: unimplemented function setupapi.dll.InstallHinfSectionW called in 32-bit code (0x7b84486b).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7b84486b ESP:0033fc94 EBP:0033fcf8 EFLAGS:00200212(   - 00      - -IA1)
 EAX:7b82ea55 EBX:7b8b4818 ECX:00000000 EDX:0033fd24
 ESI:0033fd24 EDI:7ee6dc80
Stack dump:
0x0033fc94:  0033fd24 00000008 7bc35810 80000100
0x0033fca4:  00000001 00000000 7b844800 00000002
0x0033fcb4:  7ee6dc80 7ee6dcbc b7f5356c 7b938ff0
0x0033fcc4:  7ee6dc80 0033fcf8 b7e31069 00000001
0x0033fcd4:  7b938ff0 7b8ad3d4 7b8ad319 0033fd10
0x0033fce4:  000d000c 001a0018 7b84480a 7b8b4818
Backtrace:
=>0 0x7b84486b RaiseException+0x6b(code=2147483904, flags=<is not available>, nbargs=2, args=0x33fd24) [/home/zac/wine-git/dlls/kernel32/except.c:84] in kernel32 (0x0033fcf8)
  1 0x7b8658fb DelayLoadFailureHook+0x5b(name=<register EDI not in topmost frame>, function=<register ESI not in topmost frame>) [/home/zac/wine-git/dlls/kernel32/module.c:1093] in kernel32 (0x0033fd38)
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7b84486b ESP:0085e6b4 EBP:0085e718 EFLAGS:00200212(   - 00      - -IA1)
 EAX:7b82ea55 EBX:7b8b4818 ECX:00000000 EDX:0085e744
 ESI:0085e744 EDI:7ecb1618
Stack dump:
0x0085e6b4:  0085e744 00000008 7bc35810 80000100
0x0085e6c4:  00000001 00000000 7b844800 00000002
0x0085e6d4:  7ecb1618 7ecb1623 b7f6156c 7b938ff0
0x0085e6e4:  7ecb1618 0085e718 b7e3f069 00000001
0x0085e6f4:  7b938ff0 7b8ad3d4 7b8ad319 0085e730
0x0085e704:  000b000a 00160014 7b84480a 7b8b4818
Backtrace:
=>0 0x7b84486b RaiseException+0x6b(code=2147483904, flags=<is not available>, nbargs=2, args=0x85e744) [/home/zac/wine-git/dlls/kernel32/except.c:84] in kernel32 (0x0085e718)
  1 0x7b8658fb DelayLoadFailureHook+0x5b(name=<register EDI not in topmost frame>, function=<register ESI not in topmost frame>) [/home/zac/wine-git/dlls/kernel32/module.c:1093] in kernel32 (0x0085e758)
  2 0x7ecb0251 __wine_spec_delay_load+0xb1(id=0) [/home/zac/wine-git/dlls/winecrt0/delay_load.c:50] in mountmgr.sys (0x0085e778)
  3 0x7ecacdc8 __wine_delay_load_asm+0x8() in mountmgr.sys (0x0085e8d8)
  4 0x7ecaec9a new_device+0x1aa(ctx=0x7cbf84f8, udi="/org/freedesktop/Hal/devices/volume_label_Media_Players") [/home/zac/wine-git/dlls/mountmgr.sys/hal.c:142] in mountmgr.sys (0x0085e928)
  5 0x7ecaeea0 hal_thread+0x1b0(arg=(nil)) [/home/zac/wine-git/dlls/mountmgr.sys/hal.c:212] in mountmgr.sys (0x0085ea28)
  2 0x7ee685d1 __wine_spec_delay_load+0xb1(id=0) [/home/zac/wine-git/dlls/winecrt0/delay_load.c:50] in wineboot (0x0033fd58)
  3 0x7ee64ec8 __wine_delay_load_asm+0x8() in wineboot (0x0033fed8)
  4 0x7ee68664 __wine_spec_exe_entry+0x84(peb=0x7ffdf000) [/home/zac/wine-git/dlls/winecrt0/exe_entry.c:36] in wineboot (0x0033ff08)
  5 0x7b877b20 start_process+0x130(arg=(nil)) [/home/zac/wine-git/dlls/kernel32/process.c:914] in kernel32 (0x0033ffe8)
  6 0xb7e33bb7 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
0x7b84486b RaiseException+0x6b [/home/zac/wine-git/dlls/kernel32/except.c:84] in kernel32: subl $4,%esp
84          RtlRaiseException( &record );
Modules:
Module  Address                 Debug info      Name (39 modules)
ELF     7b800000-7b93b000       Dwarf           kernel32<elf>
  \-PE  7b820000-7b93b000       \               kernel32
ELF     7bc00000-7bcae000       Deferred        ntdll<elf>
  \-PE  7bc10000-7bcae000       \               ntdll
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7e854000-7e876000       Deferred        mpr<elf>
  \-PE  7e860000-7e876000       \               mpr
ELF     7e876000-7e8b8000       Deferred        user.exe16.so
PE      7e880000-7e8b8000       Deferred        user.exe16
ELF     7e909000-7e92f000       Deferred        libexpat.so.1
ELF     7e92f000-7e95a000       Deferred        libfontconfig.so.1
ELF     7e95a000-7e96f000       Deferred        libz.so.1
ELF     7e96f000-7e9e4000       Deferred        libfreetype.so.6
ELF     7e9fa000-7ea24000       Deferred        gdi.exe16.so
PE      7ea00000-7ea24000       Deferred        gdi.exe16
ELF     7eabc000-7eb5b000       Deferred        gdi32<elf>
  \-PE  7ead0000-7eb5b000       \               gdi32
ELF     7eb5b000-7eca5000       Deferred        user32<elf>
  \-PE  7eb70000-7eca5000       \               user32
ELF     7ed4d000-7ed60000       Deferred        comm.drv16.so
PE      7ed50000-7ed60000       Deferred        comm.drv16
ELF     7ed60000-7edfe000       Deferred        krnl386.exe16.so
PE      7ed70000-7edfe000       Deferred        krnl386.exe16
ELF     7edfe000-7ee53000       Deferred        advapi32<elf>
  \-PE  7ee10000-7ee53000       \               advapi32
ELF     7ee53000-7ee71000       Dwarf           wineboot<elf>
  \-PE  7ee60000-7ee71000       \               wineboot
ELF     7ee71000-7ee8a000       Deferred        libnsl.so.1
ELF     7efc4000-7efea000       Deferred        libm.so.6
ELF     7efea000-7eff6000       Deferred        libnss_files.so.2
ELF     7eff6000-7f000000       Deferred        libnss_nis.so.2
ELF     b7c93000-b7c9c000       Deferred        libnss_compat.so.2
ELF     b7c9d000-b7ca1000       Deferred        libdl.so.2
ELF     b7ca1000-b7dfc000       Deferred        libc.so.6
ELF     b7dfd000-b7e16000       Deferred        libpthread.so.0
ELF     b7e17000-b7e2b000       Deferred        system.drv16.so
PE      b7e20000-b7e2b000       Deferred        system.drv16
ELF     b7e2c000-b7f67000       Dwarf           libwine.so.1
ELF     b7f69000-b7f85000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008
        00000009    0
0000000a (D) C:\windows\system32\wineboot.exe
        0000000b    0 <==
0000000e
        00000015    0
        00000014    0
        00000010    0
        0000000f    0
00000011
        00000017    0
        00000016    0
        00000013    0
        00000012    0
00000018
        00000019    0
Backtrace:
=>0 0x7b84486b RaiseException+0x6b(code=2147483904, flags=<is not available>, nbargs=2, args=0x33fd24) [/home/zac/wine-git/dlls/kernel32/except.c:84] in kernel32 (0x0033fcf8)
  1 0x7b8658fb DelayLoadFailureHook+0x5b(name=<register EDI not in topmost frame>, function=<register ESI not in topmost frame>) [/home/zac/wine-git/dlls/kernel32/module.c:1093] in kernel32 (0x0033fd38)
  2 0x7ee685d1 __wine_spec_delay_load+0xb1(id=0) [/home/zac/wine-git/dlls/winecrt0/delay_load.c:50] in wineboot (0x0033fd58)
  3 0x7ee64ec8 __wine_delay_load_asm+0x8() in wineboot (0x0033fed8)
  4 0x7ee68664 __wine_spec_exe_entry+0x84(peb=0x7ffdf000) [/home/zac/wine-git/dlls/winecrt0/exe_entry.c:36] in wineboot (0x0033ff08)
  5 0x7b877b20 start_process+0x130(arg=(nil)) [/home/zac/wine-git/dlls/kernel32/process.c:914] in kernel32 (0x0033ffe8)
  6 0xb7e33bb7 wine_switch_to_stack+0x17() in libwine.so.1 (0x00000000)
  6 0x7bc7252e call_thread_entry_point+0xe() in ntdll (0x0085ea38)
  7 0x7bc74003 call_thread_func+0x43(rtl_func=<register EDI not in topmost frame>, arg=<register ESI not in topmost frame>) [/home/zac/wine-git/dlls/ntdll/thread.c:429] in ntdll (0x0085ead8)
  8 0x7bc741c0 start_thread+0x120(info=0x7ffccfb8) [/home/zac/wine-git/dlls/ntdll/thread.c:487] in ntdll (0x0085f3c8)
  9 0xb7e114c0 start_thread+0xc0() in libpthread.so.0 (0x0085f4c8)
  10 0xb7d8f6de __clone+0x5e() in libc.so.6 (0x00000000)
0x7b84486b RaiseException+0x6b [/home/zac/wine-git/dlls/kernel32/except.c:84] in kernel32: subl $4,%esp
84          RtlRaiseException( &record );
Modules:
Module  Address                 Debug info      Name (47 modules)
ELF     7b800000-7b93b000       Dwarf           kernel32<elf>
  \-PE  7b820000-7b93b000       \               kernel32
ELF     7bc00000-7bcae000       Dwarf           ntdll<elf>
  \-PE  7bc10000-7bcae000       \               ntdll
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7e893000-7e8b5000       Deferred        mpr<elf>
  \-PE  7e8a0000-7e8b5000       \               mpr
ELF     7e8b5000-7e8f7000       Deferred        user.exe16.so
PE      7e8c0000-7e8f7000       Deferred        user.exe16
ELF     7e948000-7e96e000       Deferred        libexpat.so.1
ELF     7e96e000-7e999000       Deferred        libfontconfig.so.1
ELF     7e999000-7e9ae000       Deferred        libz.so.1
ELF     7e9ae000-7ea23000       Deferred        libfreetype.so.6
ELF     7ea23000-7ea4d000       Deferred        gdi.exe16.so
PE      7ea30000-7ea4d000       Deferred        gdi.exe16
ELF     7ea4d000-7eaec000       Deferred        gdi32<elf>
  \-PE  7ea60000-7eaec000       \               gdi32
ELF     7eaec000-7ec36000       Deferred        user32<elf>
  \-PE  7eb10000-7ec36000       \               user32
ELF     7ec36000-7ec6e000       Deferred        libdbus-1.so.3
ELF     7ec6e000-7ec7e000       Deferred        libhal.so.1
ELF     7ec9b000-7ecb2000       Dwarf           mountmgr.sys.so
PE      7eca0000-7ecb2000       DIA             mountmgr.sys
ELF     7ecb2000-7ed1e000       Deferred        rpcrt4<elf>
  \-PE  7ecc0000-7ed1e000       \               rpcrt4
ELF     7ed1e000-7ed31000       Deferred        comm.drv16.so
PE      7ed20000-7ed31000       Deferred        comm.drv16
ELF     7ed31000-7ed45000       Deferred        system.drv16.so
PE      7ed40000-7ed45000       Deferred        system.drv16
ELF     7ed45000-7ede3000       Deferred        krnl386.exe16.so
PE      7ed50000-7ede3000       Deferred        krnl386.exe16
ELF     7ede3000-7ee1c000       Deferred        ntoskrnl<elf>
  \-PE  7edf0000-7ee1c000       \               ntoskrnl
ELF     7ee1c000-7ee71000       Deferred        advapi32<elf>
  \-PE  7ee30000-7ee71000       \               advapi32
ELF     7ee71000-7ee8a000       Deferred        libnsl.so.1
ELF     7efc4000-7efea000       Deferred        libm.so.6
ELF     7efea000-7eff6000       Deferred        libnss_files.so.2
ELF     7eff6000-7f000000       Deferred        libnss_nis.so.2
ELF     b7ca1000-b7caa000       Deferred        libnss_compat.so.2
ELF     b7cab000-b7caf000       Deferred        libdl.so.2
ELF     b7caf000-b7e0a000       Export          libc.so.6
ELF     b7e0b000-b7e24000       Export          libpthread.so.0
ELF     b7e25000-b7e39000       Deferred        winedevice<elf>
  \-PE  b7e30000-b7e39000       \               winedevice
ELF     b7e3a000-b7f75000       Deferred        libwine.so.1
ELF     b7f77000-b7f93000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008
        00000009    0
0000000e
        00000015    0
        00000014    0
        00000010    0
        0000000f    0
00000011 (D) C:\windows\system32\winedevice.exe
        00000017    0 <==
        00000016    0
        00000013    0
        00000012    0
Backtrace:
=>0 0x7b84486b RaiseException+0x6b(code=2147483904, flags=<is not available>, nbargs=2, args=0x85e744) [/home/zac/wine-git/dlls/kernel32/except.c:84] in kernel32 (0x0085e718)
  1 0x7b8658fb DelayLoadFailureHook+0x5b(name=<register EDI not in topmost frame>, function=<register ESI not in topmost frame>) [/home/zac/wine-git/dlls/kernel32/module.c:1093] in kernel32 (0x0085e758)
  2 0x7ecb0251 __wine_spec_delay_load+0xb1(id=0) [/home/zac/wine-git/dlls/winecrt0/delay_load.c:50] in mountmgr.sys (0x0085e778)
  3 0x7ecacdc8 __wine_delay_load_asm+0x8() in mountmgr.sys (0x0085e8d8)
  4 0x7ecaec9a new_device+0x1aa(ctx=0x7cbf84f8, udi="/org/freedesktop/Hal/devices/volume_label_Media_Players") [/home/zac/wine-git/dlls/mountmgr.sys/hal.c:142] in mountmgr.sys (0x0085e928)
  5 0x7ecaeea0 hal_thread+0x1b0(arg=(nil)) [/home/zac/wine-git/dlls/mountmgr.sys/hal.c:212] in mountmgr.sys (0x0085ea28)
  6 0x7bc7252e call_thread_entry_point+0xe() in ntdll (0x0085ea38)
  7 0x7bc74003 call_thread_func+0x43(rtl_func=<register EDI not in topmost frame>, arg=<register ESI not in topmost frame>) [/home/zac/wine-git/dlls/ntdll/thread.c:429] in ntdll (0x0085ead8)
  8 0x7bc741c0 start_thread+0x120(info=0x7ffccfb8) [/home/zac/wine-git/dlls/ntdll/thread.c:487] in ntdll (0x0085f3c8)
  9 0xb7e114c0 start_thread+0xc0() in libpthread.so.0 (0x0085f4c8)
  10 0xb7d8f6de __clone+0x5e() in libc.so.6 (0x00000000)
err:process:__wine_kernel_init boot event wait timed out
wine: Call from 0x7b844800 to unimplemented function user32.dll.UserRegisterWowHandlers, aborting
err:module:attach_process_dlls "user32.dll" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"D:\\Houaiss\\Houaiss Installer\\Instalar.exe" failed, status 80000100

Sorry for posting all this code here.
I just wish I could understand what's going on.

Should I run 'git bisect skip' and repeat the procedure?

Thanks for your help.
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

So, I don't know if I'm doing right, but I ran 'make clean' now, from the wine-git directory. When it was over, I ran 'git bisect bad', since the program didn't even install.

Code: Select all

debian:/home/zac/wine-git# git bisect bad
Bisecting: 4847 revisions left to test after this
[90024d03b2d1ee694f6fa56c45157f168efd9554] riched20: Remove superflous casts.
debian:/home/zac/wine-git#
Now I suppose I should repeat the procedure, runing ./configure && make deps && make... Is that right? And then try to install the software again from the compiled wine. I hope I'm doing the right thing!
User avatar
dimesio
Moderator
Moderator
Posts: 13373
Joined: Tue Mar 25, 2008 10:30 pm

Post by dimesio »

zac wrote: Now I suppose I should repeat the procedure, runing ./configure && make deps && make... Is that right? And then try to install the software again from the compiled wine.
Yes.
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Ok, that's the message I had got, which I mentined above (I got it again here):

Code: Select all

configure: Finished.  Do 'make depend && make' to compile Wine.

make: *** No rule to make target `deps'.  Stop.
I think I should've actually run './configure && make depend && make'

and not:

'./configure && make deps && make'

Anyway, I'm running 'make depend && make' now.
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Yeah! Finally, the software installed successfully!
:-)
May I post the code? There are quite a lot of errors...

Code: Select all

zac@debian:~/wine-git$ /home/zac/wine-git/wine /media/cdrom0/Houaiss/Houaiss\ Installer/Instalar.exe
err:menubuilder:WinMain unknown option -a
err:menubuilder:WinMain unknown option -r
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default
Could not load Mozilla. HTML rendering will be disabled.
wine: configuration in '/home/zac/.wine' has been updated.
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 21/02/2010, dlt (d/m/y): 17/10/2010
fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:fork_and_wait wineshelllink returned 1
fixme:shell:DllCanUnloadNow stub
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:InvokeShellLinker failed to fork and exec wineshelllink
zac@debian:~/wine-git$ err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:InvokeShellLinker failed to fork and exec wineshelllink
fixme:shell:DllCanUnloadNow stub
fixme:shell:DllCanUnloadNow stub
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:InvokeShellLinker failed to fork and exec wineshelllink
fixme:shell:DllCanUnloadNow stub
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:InvokeShellLinker failed to fork and exec wineshelllink
fixme:shell:DllCanUnloadNow stub
err:menubuilder:fork_and_wait wineshelllink returned 1
err:menubuilder:InvokeShellLinker failed to fork and exec wineshelllink
fixme:shell:DllCanUnloadNow stub
err:menubuilder:WinMain unknown option -a
err:menubuilder:WinMain unknown option -r
So... I should now try to run the software from the compiled wine.

Code: Select all

zac@debian:~/wine-git$ /home/zac/wine-git/wine /home/zac/.wine/drive_c/Program\ Files/Houaiss/Houaiss.exe
err:menubuilder:WinMain unknown option -a
err:menubuilder:WinMain unknown option -r
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default
fixme:ntdll:find_reg_tz_info Can't find matching timezone information in the registry for bias 180, std (d/m/y): 21/02/2010, dlt (d/m/y): 17/10/2010
fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub
fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub
fixme:pager:PAGER_Create [0x1004e] Drag and Drop style is not implemented yet.
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 0 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 1 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 2 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 0 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 1 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 2 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 0 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 1 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 2 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 0 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 1 is not valid, number of bitmaps in imagelist: 0
err:toolbar:TOOLBAR_GetImageListForDrawing bitmap for ID 0, index 2 is not valid, number of bitmaps in imagelist: 0
It worked! And it seems to be better than my older installation. Some features that didn't work before are working fine now!

Now I should run 'make clean' from the wine-git directory, right? And then 'git bisect good', is that right?

Thanks for your patience!!
Sorry for all the trouble!


:D
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Ok, I ran 'make clean' from the wine-git directory.
And then 'git bisect good'

Code: Select all

debian:/home/zac/wine-git# git bisect good
Bisecting: 2423 revisions left to test after this
[3e43528a99ef5f59aa04b54606b1ca4e569941f5] comdlg32: Use a unicode dialog.
debian:/home/zac/wine-git#

How am I doing?
If I understand well, I should go on with this until I get
a message that states which commit is 'bad' (James McKenzie)


Am I thinking right?

Oh, and I'm worried about something:

James McKenzie said:
if you want to capture a log file example:

/opt/local/wine-git/wine setup.exe > logging_file.log 2>&1
and
I recommend renaming the logging file as well to separate
between installation and actual program runs.
Do I need to worry about these log files? Because I haven't done anything about them up to now. Everything I'm doing is hard enough for me! :?
What do you say about that?

Thanks!
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Oh... sorry!
Another funny question: no problem if I turn off the machine and carry on with this the next day, right?
8)
James McKenzie

Performing a Regression Test

Post by James McKenzie »

zac wrote:
Oh... sorry!
Another funny question: no problem if I turn off the machine and carry on with this the next day, right?
8)
Yes. You can carry on day after day.

You will get to the point where the number of commits left is zero.
This may be the 'bad' commit and may not.

The regressions test page describes what to do next.

James McKenzie
zac
Level 2
Level 2
Posts: 17
Joined: Thu Mar 04, 2010 2:42 pm

Post by zac »

Hello folks!
I'm back!

Regression testing is a lot of work!
I still don't know if I did everything right, though. Again, I think I need help.

I'm posting here all the results of the bisecting process. When I got the 'Bisecting: 0 revisions left to test after this' I don't seem to have received the 'bad commit' I was expecting!

Code: Select all

debian:/home/zac/wine-git# git bisect good
Bisecting: 1211 revisions left to test after this
[853d993830509c3ecaa4113bed789bf08ec36d76] shell32: Default to the more modern location for the user profile directory.

--------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 605 revisions left to test after this
[7aa3bb3a68b1b1d5b01ace0dd9fc896c59375e99] sane.ds: Initialize the SupportedGroups field when returning a source.

-------------------------------
debian:/home/zac/wine-git# git bisect good
Bisecting: 302 revisions left to test after this
[edef19f8d60d6ce089f1562a958925668f9d4e32] d3dx8: Move some functions into core.c to match the header file layout.

--------------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 151 revisions left to test after this
[5bc54ed97ecd281a2ef4d07473d72f1e50cd9ad5] gdiplus: Implemented GdipCreateBitmapFromHICON (with tests).

----------------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 75 revisions left to test after this
[dd943665932e428c3f423ae062464d9b4d755ea5] wininet/tests: Fix tests failures on W2K and below and some early XP.

--------------------------------------
debian:/home/zac/wine-git# git bisect good
Bisecting: 37 revisions left to test after this
[f20ba244049f5473369e32df5fe108244da3e180] d3dx8: Implement D3DXFresnelTerm.

---------------------------
debian:/home/zac/wine-git# git bisect good
Bisecting: 18 revisions left to test after this
[183bb795b6c1cd1e24503a20b1a4a7b9ec12524b] mshtml: Add missing StyleSheet interfaces.

-----------------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 9 revisions left to test after this
[e7d58bdd5243d31dec0f7c735566b6b9744ddf7b] itss: Move buffer initialization a bit up (Coverity).

--------------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 4 revisions left to test after this
[edbea606f94a34872097620e2b79e9c07fa3c921] comctl32: Fix propsheet size calculation.

---------------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 1 revisions left to test after this
[8662c6fe7b60d9ff563ba790d4431ef30250249b] richedit: Implement EM_GETTEXTMODE.

------------------------------------
debian:/home/zac/wine-git# git bisect bad
Bisecting: 0 revisions left to test after this
[1a3551b630eae2418692f21790fcc7fc973f5366] richedit: Use width from EM_SETTARGETDEVICE for wrapping.
Sorry guys... What should I do now? I was expecting to get the bad commit and its author, so that I could post that into bugzilla... But since I didn't, I don't know how to proceed.

Should I do something like the following?

Code: Select all

make clean
git reset --hard
git show <commit number, usually a 32 alphanumeric> | patch -p1 -R

Thank you very much for your help!
User avatar
dimesio
Moderator
Moderator
Posts: 13373
Joined: Tue Mar 25, 2008 10:30 pm

Post by dimesio »

zac wrote:

Code: Select all

debian:/home/zac/wine-git# git bisect bad
Bisecting: 0 revisions left to test after this
[1a3551b630eae2418692f21790fcc7fc973f5366] richedit: Use width from EM_SETTARGETDEVICE for wrapping.
Sorry guys... What should I do now? I was expecting to get the bad commit and its author, so that I could post that into bugzilla... But since I didn't, I don't know how to proceed.

Should I do something like the following?

Code: Select all

make clean
git reset --hard
git show <commit number, usually a 32 alphanumeric> | patch -p1 -R
No.

To quote from the regression test instructions:
If you see:

Code: Select all

Bisecting: 0 revisions left to test after this
THEN YOU ARE NOT DONE YET!
Compile and test one more time.
Locked