need help learning to debug wine apps: DxO Optics Pro 8 x32

Questions about Wine on Linux
Locked
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

need help learning to debug wine apps: DxO Optics Pro 8 x32

Post by SquareAperture »

Greetings. 1st post.

I'm terrible at bug hunting, so please bear with me. I also don't know how to pass on information only, so this will be in story form and rambling. Sorry about that. Thanks in advance to anyone who bothers.
---

App in question: DxO Optics Pro 8. Or 9. This is a photography workflow app, in between your importing/tagging/sorting and your printing or editing. Primarily it applies lens distortion corrections as it's name implies. It does other neat stuff too, and if we get it working, you can see firsthand, as free licenses are available from DxO for versions older than 2 releases from the current via various means, usually photography magazines includes.

I'm starting with 8.x, the oldest that supports my cameras, assuming it'd be easiest to support. Version 10 is also "free" from various magazines and places, but 10 is 64-bit only and this PC is ancient. How ancient? A Dell Inspiron 640m laptop from 2006 or so. 32-bit Core Duo T-2060 @ 1.60GHz w/ 4 Gig (~3.3G addressable) RAM and the ubiquitous Intel 945GM, running Fedora 26 i686 PAE + MATE desktop.

As most have posted to various linux sites, trying to install DxO stuff, the installer itself crashes.

Frustrated, I start stabbing blindly. I install and update this and that. Mono, gecko, native installs for DX9, MSXML3 & Query, .NET 2/3/4, basically every winetricks tweak that might be remotely applicable, and basically can't get much farther than a stuck window. Never gets any output other than tons of console scroll. What a mess. I surrender.
-----

Weeks pass, and I take another stab at it. Deciding to be more methodical, I booted into the factory Vista partition (hurrah for laziness!) and installed the app; it runs just fine. After updating and grabbing all the lens profiles, I copied all the DxO related stuff to bypass the installer in linux; the Program Files tree, the AppData tree, and exported the relevant registry keys.

I wipe out all that mess from before, install Fedora 26's packages of wine 2.15-staging. I also update the whole system, and start with a nice blank WINEPREFIX. (well, not blank, but "fresh" I guess is the term? No fancy build scripts just 'rm -rf ~/.wine-dxo-testing && WINEPREFIX=/home/aperture/.wine-dxo-testing wineboot -i') CSMT and all other options on the "Staging" tab in winecfg are disabled.

Hey! The installer finishes without error!! I noticed that during the install it installs a DX9 runtime; upon investigation it's d3dx9_42. Regardless, it completed so I'm getting excited... finally get to try!

'WINEPREFIX=/home/aperture/.wine-dxo-testing wine DXOOpticsPro.exe'

... and it crashes. :^) Some spawned process 'oclcheck.exe' segfaults. But in the background... the DxO Optics Pro splash screen appears. For a second. Problem seems to be .NET:

Code: Select all

fixme:mscoree:parse_startup useLegacyV2RuntimeActivationPolicy=L"true" not implemented
fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.0" not implemented
The entry point method could not be loaded due to Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. assembly:PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 type:<unknown type> member:<none>
Hmm. wine-mono is installed, so all new prefixes should have installed... I double-check that the c:\windows\mono\mono-2.0\ tree is there, and sure enough it is. (the initialization routine installs from /usr/share/wine/mono/wine-mono-4.7.1.msi?)

My random guess is, it needs the real thing? So after a (semi-)quick 'winetricks dotnet462' and all the workarounds;

--** thank you, Austin! (and all other maintainers.) **--

I fire it up... oclcheck.exe still crashes*, but behind the crash debug window, the the app really tries to run! Doesn't get far. I get the splash screen, then a form where it asks for your serial # or to run in trial mode (all rendered beautifully and exactly as on Windows), then pops up an error has occurred dialog - but at least from inside the app, internal error handler caught it. To me this is progress!

There's a button on the oops we crashed form for "view report", but clicking it doesn't generate a crash report that I can see; doesn't appear to do anything but scroll the console. I do notice these two lines go by:

Code: Select all

fixme:dbghelp:elf_search_auxv can't find symbol in module
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithHandleData
Dump? What dump? Where dump? I got to looking, and found it! It went into my Documents tree; it is attached (or in-line depending on my posting skills) at the end here with the wine console log. It shows why I can't open the crash log from inside the app - no suitable app found! Guess I should install a few other goodies to my testing WINEPREFIX like notepad.

But OK, anyway, app still doesn't work and I'm too dumb to know the next step. I don't even know if what I did was the right approach. Other than trying (1) 9.x and seeing if the requirements are more wine-compatible, and (2) removing wine-opencl to hopefully stop the oclcheck.exe segfault... I'm running out of steam again.

Any ideas appreciated.
------------------------

The app: (directly linked from DxO for integrity but I obfuscated the link because BOTS SUCK!)
download(hyphen)center.dxo.com/v8/Win/DxO_OpticsPro8_Setup.{*{remove.all.this.to.download.and.fix.the.hyphen.]*]exe

------------------------
wine bits installed:

wine-fonts-2.15-1.fc26.noarch
wine-symbol-fonts-2.15-1.fc26.noarch
wine-common-2.15-1.fc26.noarch
wine-desktop-2.15-1.fc26.noarch
wine-mono-4.7.1-1.fc26.noarch
wine-twain-2.15-1.fc26.i686
wine-small-fonts-2.15-1.fc26.noarch
wine-ldap-2.15-1.fc26.i686
wine-ms-sans-serif-fonts-2.15-1.fc26.noarch
wine-openal-2.15-1.fc26.i686
wine-system-fonts-2.15-1.fc26.noarch
wine-capi-2.15-1.fc26.i686
wine-2.15-1.fc26.i686
wine-systemd-2.15-1.fc26.noarch
wine-courier-fonts-2.15-1.fc26.noarch
wine-alsa-2.15-1.fc26.i686
wine-arial-fonts-2.15-1.fc26.noarch
wine-pulseaudio-2.15-1.fc26.i686
wine-marlett-fonts-2.15-1.fc26.noarch
wine-opencl-2.15-1.fc26.i686
wine-tahoma-fonts-2.15-1.fc26.noarch
wine-core-2.15-1.fc26.i686
wine-filesystem-2.15-1.fc26.noarch
wine-cms-2.15-1.fc26.i686
wine-times-new-roman-fonts-2.15-1.fc26.noarch
wine-wingdings-fonts-2.15-1.fc26.noarch
mingw32-wine-gecko-2.47-2.fc26.noarch
wine-fixedsys-fonts-2.15-1.fc26.noarch


mono bits installed:

mono-core-4.8.0-7.fc26.i686
mono-mvc-4.8.0-7.fc26.i686
mono-extras-4.8.0-7.fc26.i686
mono-winforms-4.8.0-7.fc26.i686
mono-data-sqlite-4.8.0-7.fc26.i686
mono-data-4.8.0-7.fc26.i686
mono-basic-4.6-3.fc26.i686
mono-wcf-4.8.0-7.fc26.i686
mono-web-4.8.0-7.fc26.i686


winetricks list-installed:

Using winetricks 20170823-next with wine-2.15 (Staging) and WINEARCH=win32
dotnet40
dotnet452
dotnet45
dotnet461
dotnet462
dotnet46

------------------------

* you will notice in the crash log it parses:

Code: Select all

INFO [DxOFramework] Running oclcheck with cache file: C:\users\aperture\Local Settings\Application Data\DxO_Labs\DxO Optics Pro 8\ocl32.cache...
The oclcheck.exe app crashes both with the standard wine install, and with the windows install AppData tree copied over. Thought the ocl32.cache file might help from the working windows install. It didn't.

Further, clinfo, an native linux app that displays your GPU's OpenCL support level, segfaults when you run it on a SandyBridge or anything older, because apparently the technology didn't exist on Intel on-chip GPUs and something somewhere doesn't do proper checks, so if this is at the driver-level (libcl.so? see console log) then the oclcheck.exe might be crashing for the same reason.

Not too worried about that app anyway, since the main thread keeps going, hopefully it is not part of the problem, as again, the app works just fine in Vista and there's definitely no OpenCL support on this relic.
======================================

Whew. Told you it'd be a long boring story. Sorry. And thanks for reading!
Attachments
DXOOpticsPro.txt.gz
DxO app log
(3.91 KiB) Downloaded 229 times
wine console log.txt.gz
console log
(12.81 KiB) Downloaded 230 times
User avatar
dimesio
Moderator
Moderator
Posts: 13207
Joined: Tue Mar 25, 2008 10:30 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by dimesio »

Try disabling oclcheck.exe in winecfg to get rid of the crash. Do that on the Libraries tab, the same way you would disable a dll, but you'll have to type oclcheck.exe in as it won't be on the dropdown list.
User avatar
dimesio
Moderator
Moderator
Posts: 13207
Joined: Tue Mar 25, 2008 10:30 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by dimesio »

I downloaded the trial version from the link you provided. I don't get the crash from oclcheck.exe, though the app's log says the check failed. I was able to get the app to run with just winetricks dotnet40 colorprofile. Try a fresh wineprefix with just those winetricks, and possibly disabling oclcheck.exe as I suggested earlier (my GPU is Nvidia, and that may be why I don't get that crash).
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

Hey dimesio,

Man thanks for the fast reply. And on a Saturday. AND even tried to recreate the error! Fantastic. Thanks! It is appreciated.

Code: Select all

export WINEPREFIX=/home/aperture/.wine-dxo-testing2 && \
wineboot -i && winetricks dotnet40 colorprofile && \
wine ~/Downloads/DxO_OpticsPro8_Setup.exe
Interesting. So now the installer tosses message window when trying to spawn dxsetup.exe, bitching about "Unable to find a version of the runtime to run this application". However the installer still runs and finishes. And again, trying to execute the app, I get a splash screen, then the enter serial # or trial mode overlay... but once I clear that screen where it drops back to that splash window, where there appears to be allocated space for a progress bar on the lower part of the form, it never starts progressing. And after a few moments thinking it's going to run, it crashes.

So close. And this time it 'crash' crashes so there's a wine debugger console dump. See below. (it should be small enough to in-line.) This time it seems it's related to video, be it the failed dxsetup, be it mesa, etc etc. no clue. but i915_dri.so takes the hit.

The difference of course being that before I ran the app setup before installing the .NET native dlls, and this try, that was reversed. It sucks that things like this can affect wine working, but I've learned not to question it. I will try it a couple of sequences and even try the native d3dx9_42 with dotnet and colorprofile while I'm at it. Out of time for today though. I'll experiment some more soon.

If anybody reading this has an older machine and/or just use on-chip Intel gfx and not a dedicated GPU, who wouldn't mind trying the steps listed, I'd appreciate it! It might be the key to why I'm having trouble.

Thanks again!

---------
backtrace_after_dotnet40_colorprofile.log

Code: Select all

Unhandled exception: page fault on read access to 0x00000014 in 32-bit code (0x7c93b1c5).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7c93b1c5 ESP:0adedab0 EBP:62bd5330 EFLAGS:00210246(  R- --  I  Z- -P- )
 EAX:00000026 EBX:00000a34 ECX:00000004 EDX:79a52ec0
 ESI:00000a33 EDI:00000a34
Stack dump:
0x0adedab0:  66774280 66775bc0 00000010 7c6c9dfe
0x0adedac0:  62bd5330 00000000 7c608839 7c69a742
0x0adedad0:  00000010 00000000 00000001 00000024
0x0adedae0:  fffffff2 000000ff 00000004 79a52ec0
0x0adedaf0:  66740bf8 00000000 7ccdea8c 00903080
0x0adedb00:  66970630 00000002 00000005 7ccdea8c
Backtrace:
=>0 0x7c93b1c5 in i915_dri.so (+0x3eb1c5) (0x62bd5330)
  1 0x7c94078b in i915_dri.so (+0x3f078a) (0x00000008)
  2 0x7c94d268 in i915_dri.so (+0x3fd267) (0x00000008)
  3 0x7c71e506 in i915_dri.so (+0x1ce505) (0x00000008)
  4 0x7c96aac9 in i915_dri.so (+0x41aac8) (0x7ccdea8c)
  5 0x7c71d838 in i915_dri.so (+0x1cd837) (0x7ccdea8c)
  6 0x7c700548 in i915_dri.so (+0x1b0547) (0x00000004)
  7 0x7c700818 in i915_dri.so (+0x1b0817) (0x00000004)
  8 0x7d765475 in wined3d (+0x55474) (0x0adee0c8)
  9 0x7d73dd95 in wined3d (+0x2dd94) (0x0adee108)
  10 0x7d73bd87 in wined3d (+0x2bd86) (0x0adee158)
  11 0x7d73ec17 in wined3d (+0x2ec16) (0x0adee198)
  12 0x7d74cc53 wined3d_device_draw_primitive+0x7b() in wined3d (0x0adee1e8)
  13 0x7d8671b4 in d3d9 (+0x171b3) (0x0adee220)
  14 0x0a2bc67e in wpfgfx_v0400 (+0xdc67d) (0x0adee274)
  15 0x0a2c657b in wpfgfx_v0400 (+0xe657a) (0x0adee2b8)
  16 0x0a2cc46b in wpfgfx_v0400 (+0xec46a) (0x0adee384)
  17 0x0a2efaeb in wpfgfx_v0400 (+0x10faea) (0x0adee444)
  18 0x0a27b3b4 in wpfgfx_v0400 (+0x9b3b3) (0x0adee730)
  19 0x0a27c7d8 in wpfgfx_v0400 (+0x9c7d7) (0x0adee760)
  20 0x0a1edee8 in wpfgfx_v0400 (+0xdee7) (0x0adee784)
  21 0x0a1f42d9 in wpfgfx_v0400 (+0x142d8) (0x0adee7d4)
  22 0x0a1ef3b4 in wpfgfx_v0400 (+0xf3b3) (0x0adee870)
  23 0x0a1ed02f in wpfgfx_v0400 (+0xd02e) (0x0adee8dc)
  24 0x0a1eceab in wpfgfx_v0400 (+0xceaa) (0x0adee8fc)
  25 0x0a1e78eb in wpfgfx_v0400 (+0x78ea) (0x0adee914)
  26 0x0a1e3f14 in wpfgfx_v0400 (+0x3f13) (0x0adee978)
  27 0x0a1e3e37 in wpfgfx_v0400 (+0x3e36) (0x0adee990)
  28 0x0a1e3dca in wpfgfx_v0400 (+0x3dc9) (0x0adee9ac)
  29 0x0a1e2dbb in wpfgfx_v0400 (+0x2dba) (0x0adee9c0)
  30 0x0a1e91e2 in wpfgfx_v0400 (+0x91e1) (0x0adee9d8)
  31 0x7bca0590 call_thread_func_wrapper+0xb() in ntdll (0x0adee9f8)
  32 0x7bca3e8b in ntdll (+0x73e8a) (0x0adeeae8)
  33 0x7bca056e RtlRaiseException+0x49() in ntdll (0x0adeeb08)
  34 0x7bcac4e8 in ntdll (+0x7c4e7) (0x0adef358)
  35 0xb75112d9 start_thread+0xf8() in libpthread.so.0 (0x0adef428)
  36 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  37 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  38 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  39 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  40 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  41 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  42 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  43 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  44 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  45 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  46 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  47 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  48 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  49 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  50 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  51 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  52 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  53 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  54 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  55 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  56 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  57 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  58 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  59 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  60 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  61 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  62 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  63 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  64 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  65 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  66 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  67 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  68 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  69 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  70 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  71 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  72 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  73 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  74 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  75 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  76 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  77 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  78 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  79 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  80 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  81 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  82 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  83 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  84 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  85 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  86 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  87 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  88 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  89 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  90 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  91 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  92 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  93 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  94 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  95 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  96 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  97 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  98 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  99 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  100 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  101 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  102 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  103 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  104 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  105 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  106 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  107 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  108 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  109 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  110 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  111 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  112 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  113 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  114 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  115 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  116 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  117 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  118 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  119 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  120 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  121 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  122 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  123 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  124 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  125 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  126 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  127 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  128 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  129 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  130 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  131 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  132 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  133 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  134 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  135 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  136 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  137 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  138 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  139 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  140 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  141 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  142 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  143 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  144 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  145 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  146 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  147 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  148 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  149 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  150 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  151 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  152 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  153 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  154 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  155 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  156 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  157 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  158 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  159 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  160 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  161 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  162 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  163 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  164 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  165 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  166 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  167 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  168 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  169 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  170 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  171 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  172 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  173 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  174 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  175 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  176 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  177 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  178 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  179 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  180 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  181 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  182 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  183 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  184 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  185 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  186 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  187 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  188 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  189 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  190 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  191 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  192 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  193 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  194 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  195 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  196 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  197 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  198 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  199 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
  200 0xb7454a96 __clone+0x65() in libc.so.6 (0x00000000)
0x7c93b1c5: movl	0x10(%ecx),%edi
Modules:
Module	Address			Debug info	Name (219 modules)
PE	  400000-  65c000	Deferred        dxoopticspro
PE	 4ac0000- 66fe000	Deferred        dxoframework
PE	 6700000- 796a000	Deferred        dxofoundation
PE	 7970000- 7b55000	Deferred        d3dx9_42
PE	 7b60000- 7b71000	Deferred        nlogc
PE	 99e0000- 9ac1000	Deferred        wpftxt_v0400
PE	 9ad0000- 9b95000	Deferred        presentationnative_v0400
PE	 a1e0000- a37a000	Export          wpfgfx_v0400
PE	 a6c0000- a6c9000	Deferred        wminet_utils
PE	 aa50000- aafa000	Deferred        diasymreader
PE	 b2a0000- b2e8000	Deferred        dxonet.gpucontext
PE	 b7c0000- b856000	Deferred        dxoactivation
PE	 c6d0000- c74a000	Deferred        webengine4
PE	 dae0000- dbb4000	Deferred        system.data.sqlite
PE	 e340000- e35f000	Deferred        system.enterpriseservices.wrappeC:\windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll
PE	 e410000- e48c000	Deferred        system.data.oracleclient
PE	 f290000- f2e3000	Deferred        lua51
PE	10000000-1009f000	Deferred        dxonet.correctionengine
PE	60340000-6034d000	Deferred        culture
PE	603b0000-60416000	Deferred        mscoreei
PE	60930000-60940000	Deferred        nlssorting
PE	61470000-6174c000	Deferred        system.data
ELF	624c4000-62580000	Deferred        winmm<elf>
  \-PE	624d0000-62580000	\               winmm
PE	66680000-666c4000	Deferred        system.transactions
PE	79000000-7904a000	Deferred        mscoree
PE	79060000-7911e000	Deferred        msvcr100_clr0400
PE	79140000-797af000	Deferred        clr
PE	79810000-79870000	Deferred        clrjit
ELF	7a5b8000-7a651000	Deferred        gdiplus<elf>
  \-PE	7a5d0000-7a651000	\               gdiplus
ELF	7a713000-7a730000	Deferred        uiautomationcore<elf>
  \-PE	7a720000-7a730000	\               uiautomationcore
ELF	7a735000-7a800000	Deferred        libgcrypt.so.20
ELF	7a800000-7a927000	Deferred        opengl32<elf>
  \-PE	7a820000-7a927000	\               opengl32
ELF	7a932000-7a94d000	Deferred        cryptnet<elf>
  \-PE	7a940000-7a94d000	\               cryptnet
ELF	7a98d000-7a9a3000	Deferred        libgpg-error.so.0
ELF	7a9a3000-7a9ba000	Deferred        liblz4.so.1
ELF	7a9ba000-7a9e5000	Deferred        liblzma.so.5
ELF	7a9e5000-7aa74000	Deferred        libsystemd.so.0
ELF	7aa74000-7aac9000	Deferred        libdbus-1.so.3
ELF	7aac9000-7aaf9000	Deferred        libcrypt.so.1
ELF	7aaf9000-7ab0b000	Deferred        libavahi-client.so.3
ELF	7ab0b000-7ab43000	Deferred        libk5crypto.so.3
ELF	7ab43000-7ac1c000	Deferred        libkrb5.so.3
ELF	7ac1c000-7ac6b000	Deferred        libgssapi_krb5.so.2
ELF	7ac6b000-7acf2000	Deferred        libcups.so.2
ELF	7acf2000-7ad37000	Deferred        winspool<elf>
  \-PE	7ad00000-7ad37000	\               winspool
ELF	7ad3f000-7ad54000	Deferred        schannel<elf>
  \-PE	7ad40000-7ad54000	\               schannel
ELF	7ad54000-7ad67000	Deferred        libnss_myhostname.so.2
ELF	7ad73000-7ad87000	Deferred        security<elf>
  \-PE	7ad80000-7ad87000	\               security
ELF	7ad87000-7ada5000	Deferred        jsproxy<elf>
  \-PE	7ad90000-7ada5000	\               jsproxy
ELF	7ada5000-7ade4000	Deferred        winhttp<elf>
  \-PE	7adb0000-7ade4000	\               winhttp
ELF	7ade4000-7ae00000	Deferred        rasapi32<elf>
  \-PE	7adf0000-7ae00000	\               rasapi32
ELF	7af06000-7af10000	Deferred        librt.so.1
ELF	7af31000-7af45000	Deferred        psapi<elf>
  \-PE	7af40000-7af45000	\               psapi
ELF	7af45000-7af5e000	Deferred        userenv<elf>
  \-PE	7af50000-7af5e000	\               userenv
ELF	7af5e000-7af76000	Deferred        wtsapi32<elf>
  \-PE	7af60000-7af76000	\               wtsapi32
ELF	7af76000-7af8c000	Deferred        windowscodecsext<elf>
  \-PE	7af80000-7af8c000	\               windowscodecsext
ELF	7af8c000-7afbd000	Deferred        netapi32<elf>
  \-PE	7af90000-7afbd000	\               netapi32
ELF	7afbd000-7aff3000	Deferred        secur32<elf>
  \-PE	7afc0000-7aff3000	\               secur32
ELF	7aff9000-7b000000	Deferred        libnss_dns.so.2
ELF	7b100000-7b106000	Deferred        libcap.so.2
ELF	7b106000-7b120000	Deferred        libresolv.so.2
ELF	7b400000-7b7f6000	Deferred        kernel32<elf>
  \-PE	7b410000-7b7f6000	\               kernel32
ELF	7b7f6000-7b820000	Deferred        dxgi<elf>
  \-PE	7b800000-7b820000	\               dxgi
ELF	7bc00000-7bd24000	Dwarf           ntdll<elf>
  \-PE	7bc30000-7bd24000	\               ntdll
ELF	7bd25000-7bd34000	Deferred        libkrb5support.so.0
ELF	7bd34000-7bd6f000	Deferred        wbemprox<elf>
  \-PE	7bd40000-7bd6f000	\               wbemprox
ELF	7bdc6000-7bdd4000	Deferred        libavahi-common.so.3
ELF	7bdd4000-7be00000	Deferred        iphlpapi<elf>
  \-PE	7bde0000-7be00000	\               iphlpapi
ELF	7c000000-7c004000	Deferred        <wine-loader>
ELF	7c004000-7c01f000	Deferred        wmiutils<elf>
  \-PE	7c010000-7c01f000	\               wmiutils
ELF	7c01f000-7c048000	Deferred        propsys<elf>
  \-PE	7c030000-7c048000	\               propsys
ELF	7c048000-7c11b000	Deferred        windowscodecs<elf>
  \-PE	7c060000-7c11b000	\               windowscodecs
ELF	7c11b000-7c157000	Deferred        ws2_32<elf>
  \-PE	7c120000-7c157000	\               ws2_32
ELF	7c157000-7c180000	Deferred        mpr<elf>
  \-PE	7c160000-7c180000	\               mpr
ELF	7c180000-7c200000	Deferred        wininet<elf>
  \-PE	7c190000-7c200000	\               wininet
ELF	7c404000-7c408000	Deferred        libnss_mdns4_minimal.so.2
ELF	7c408000-7c40c000	Deferred        libfreebl3.so
ELF	7c40c000-7c411000	Deferred        libkeyutils.so.1
ELF	7c411000-7c416000	Deferred        libcom_err.so.2
ELF	7c416000-7c4be000	Deferred        urlmon<elf>
  \-PE	7c420000-7c4be000	\               urlmon
ELF	7c4ea000-7c4f5000	Deferred        libpciaccess.so.0
ELF	7c4f5000-7c512000	Deferred        libgcc_s.so.1
ELF	7c512000-7c520000	Deferred        libdrm_radeon.so.1
ELF	7c520000-7c52a000	Deferred        libdrm_nouveau.so.2
ELF	7c52a000-7c550000	Deferred        libdrm_intel.so.1
ELF	7c550000-7ccef000	Dwarf           i915_dri.so
ELF	7ccef000-7cd65000	Deferred        libpcre.so.1
ELF	7cd65000-7cd78000	Deferred        libdrm.so.2
ELF	7cd78000-7cd7e000	Deferred        libxcb-dri2.so.0
ELF	7cd7e000-7cd9b000	Deferred        libxcb-glx.so.0
ELF	7cd9b000-7cd9e000	Deferred        libx11-xcb.so.1
ELF	7cd9e000-7cdc7000	Deferred        libselinux.so.1
ELF	7cdc7000-7cdf7000	Deferred        libglapi.so.0
ELF	7cdf7000-7ce00000	Deferred        libxcb-xfixes.so.0
ELF	7cf02000-7cf06000	Deferred        libxdamage.so.1
ELF	7cf06000-7cf84000	Deferred        libglx_mesa.so.0
ELF	7d026000-7d02e000	Deferred        libxcb-sync.so.1
ELF	7d04e000-7d0ac000	Deferred        libgldispatch.so.0
ELF	7d0ac000-7d0cd000	Deferred        libglx.so.0
ELF	7d0cd000-7d12e000	Deferred        libgl.so.1
ELF	7d14e000-7d188000	Deferred        uxtheme<elf>
  \-PE	7d150000-7d188000	\               uxtheme
ELF	7d188000-7d2bb000	Deferred        comctl32<elf>
  \-PE	7d190000-7d2bb000	\               comctl32
ELF	7d2bb000-7d2d6000	Deferred        aclui<elf>
  \-PE	7d2c0000-7d2d6000	\               aclui
ELF	7d2d6000-7d5ae000	Deferred        shell32<elf>
  \-PE	7d2f0000-7d5ae000	\               shell32
ELF	7d5ae000-7d5b4000	Deferred        libtxc_dxtn.so
ELF	7d5b4000-7d6f6000	Deferred        oleaut32<elf>
  \-PE	7d5d0000-7d6f6000	\               oleaut32
ELF	7d6f6000-7d84e000	Dwarf           wined3d<elf>
  \-PE	7d710000-7d84e000	\               wined3d
ELF	7d84e000-7d88d000	Dwarf           d3d9<elf>
  \-PE	7d850000-7d88d000	\               d3d9
ELF	7d88d000-7d9ac000	Deferred        msvcp100<elf>
  \-PE	7d8d0000-7d9ac000	\               msvcp100
ELF	7d9ac000-7da8c000	Deferred        msvcr100<elf>
  \-PE	7d9d0000-7da8c000	\               msvcr100
ELF	7da8c000-7dae8000	Deferred        liblcms2.so.2
ELF	7dae8000-7db09000	Deferred        mscms<elf>
  \-PE	7daf0000-7db09000	\               mscms
ELF	7db09000-7dbc9000	Deferred        msvcrt<elf>
  \-PE	7db20000-7dbc9000	\               msvcrt
ELF	7dbc9000-7dbd1000	Deferred        libffi.so.6
ELF	7dbd1000-7dc45000	Deferred        libgmp.so.10
ELF	7dc45000-7dc71000	Deferred        libhogweed.so.4
ELF	7dc71000-7dcb0000	Deferred        libnettle.so.6
ELF	7dcb0000-7dcc4000	Deferred        libtasn1.so.6
ELF	7dcc4000-7de36000	Deferred        libunistring.so.2
ELF	7de36000-7de54000	Deferred        libidn2.so.0
ELF	7de54000-7df8d000	Deferred        libp11-kit.so.0
ELF	7df8d000-7e108000	Deferred        libgnutls.so.30
ELF	7e109000-7e10c000	Deferred        libxshmfence.so.1
ELF	7e10c000-7e110000	Deferred        libxcb-present.so.0
ELF	7e110000-7e114000	Deferred        libxcb-dri3.so.0
ELF	7e114000-7e128000	Deferred        shfolder<elf>
  \-PE	7e120000-7e128000	\               shfolder
ELF	7e128000-7e1fd000	Deferred        crypt32<elf>
  \-PE	7e130000-7e1fd000	\               crypt32
ELF	7e1fd000-7e23e000	Deferred        rsaenh<elf>
  \-PE	7e200000-7e23e000	\               rsaenh
ELF	7e284000-7e28b000	Deferred        libxfixes.so.3
ELF	7e28b000-7e296000	Deferred        libxcursor.so.1
ELF	7e296000-7e2b4000	Deferred        bcrypt<elf>
  \-PE	7e2a0000-7e2b4000	\               bcrypt
ELF	7e304000-7e336000	Deferred        libexpat.so.1
ELF	7e336000-7e37b000	Deferred        libfontconfig.so.1
ELF	7e37b000-7e3b2000	Deferred        libpng16.so.16
ELF	7e3b2000-7e3c3000	Deferred        libbz2.so.1
ELF	7e3c3000-7e3dc000	Deferred        libz.so.1
ELF	7e3dc000-7e48c000	Deferred        libfreetype.so.6
ELF	7e48c000-7e49e000	Deferred        libxi.so.6
ELF	7e49e000-7e4aa000	Deferred        libxrandr.so.2
ELF	7e4aa000-7e4b6000	Deferred        libxrender.so.1
ELF	7e4b6000-7e4e1000	Deferred        libxcb.so.1
ELF	7e4e1000-7e625000	Deferred        libx11.so.6
ELF	7e625000-7e639000	Deferred        libxext.so.6
ELF	7e659000-7e6ed000	Deferred        winex11<elf>
  \-PE	7e660000-7e6ed000	\               winex11
ELF	7e6ed000-7e775000	Deferred        rpcrt4<elf>
  \-PE	7e700000-7e775000	\               rpcrt4
ELF	7e775000-7e8e0000	Deferred        ole32<elf>
  \-PE	7e790000-7e8e0000	\               ole32
ELF	7e8e0000-7e905000	Deferred        imm32<elf>
  \-PE	7e8f0000-7e905000	\               imm32
ELF	7e905000-7ea3a000	Deferred        gdi32<elf>
  \-PE	7e910000-7ea3a000	\               gdi32
ELF	7ea3a000-7ec25000	Deferred        user32<elf>
  \-PE	7ea50000-7ec25000	\               user32
ELF	7ec25000-7eca2000	Deferred        shlwapi<elf>
  \-PE	7ec30000-7eca2000	\               shlwapi
ELF	7eca2000-7ed21000	Deferred        advapi32<elf>
  \-PE	7ecb0000-7ed21000	\               advapi32
ELF	7ed21000-7ed45000	Deferred        libtinfo.so.6
ELF	7ed45000-7ed6f000	Deferred        libncurses.so.6
ELF	7ef6f000-7ef83000	Deferred        libnss_files.so.2
ELF	7ef83000-7efe0000	Deferred        libm.so.6
ELF	7efe5000-7f000000	Deferred        version<elf>
  \-PE	7eff0000-7f000000	\               version
ELF	b7353000-b735a000	Deferred        libxxf86vm.so.1
ELF	b735c000-b7361000	Deferred        libdl.so.2
ELF	b7361000-b750b000	Dwarf           libc.so.6
ELF	b750b000-b752a000	Dwarf           libpthread.so.0
ELF	b752a000-b76fa000	Dwarf           libwine.so.1
ELF	b76fc000-b7700000	Deferred        libxcomposite.so.1
ELF	b7712000-b7716000	Deferred        libxinerama.so.1
ELF	b7716000-b771a000	Deferred        libxau.so.6
ELF	b771c000-b7745000	Deferred        ld-linux.so.2
ELF	b7748000-b7749000	Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Program Files\DxO Labs\DxO Optics Pro v8\DXOOpticsPro.exe
	["C:\Program Files\DxO Labs\DxO Optics Pro v8\DXOOpticsPro.exe"]
	000001f6    0
	000001ee   -1
	000001ec   -1
	0000010b    0
	000000d1    0
	000000b1    0
	0000008e    0
	0000008d    0
	00000062    0
	00000052    0
	0000004d    0
	00000040    0 <==
	0000003f    0
	0000003e    0
	0000003b    0
	0000003a    0
	00000039    0
	00000036    2
	00000035    0
	00000009    0
0000000e services.exe
	[C:\windows\system32\services.exe]
	00000046    0
	0000002e    0
	0000002b    0
	00000026    0
	00000020    0
	0000001d    0
	00000012    0
	0000000f    0
00000010 explorer.exe
	[C:\windows\system32\explorer.exe /desktop]
	00000034    0
	00000033    0
	00000032    0
	00000011    0
0000001b winedevice.exe
	[C:\windows\system32\winedevice.exe]
	00000025    0
	0000001f    0
	0000001e    0
	0000001c    0
00000023 plugplay.exe
	[C:\windows\system32\plugplay.exe]
	00000028    0
	00000027    0
	00000024    0
00000029 winedevice.exe
	[C:\windows\system32\winedevice.exe]
	00000031    0
	0000002d    0
	0000002c    0
	0000002a    0
00000044 WPFFontCache_v0400.exe
	[C:\windows\Microsoft.NET\Framework\v4.0.30319\WPF\WPFFontCache_v0400.exe]
	000001cd    0
	00000107    0
	00000103    0
	00000102    0
	00000101    0
	00000100    0
	000000fc    0
	000000bc    0
	000000ad    0
	00000090    0
	00000081    0
	00000080    0
	0000007f    0
	0000007e    0
	0000007a    0
	00000076    0
	00000075    0
	00000074    0
	00000073    0
	0000006f    0
	0000005b    0
	0000005a    0
	00000059    0
	00000058    0
	00000053    0
	0000004e    0
	0000004c    0
	0000004b    0
	00000049    0
	00000048    0
	00000047    0
	00000045    0
000001f1 wineconsole.exe
	[wineconsole --use-event=12]
	000001f2    0
000001f4 winedbg.exe
	[winedbg --auto 8 2952]
	000001f5    0
000001f7 explorer.exe
	[C:\windows\system32\explorer.exe /desktop]
	000001fb    0
	000001fa    0
	000001f9    0
	000001f8    0
System information:
    Wine build: wine-2.15 (Staging)
    Platform: i386
    Version: Windows 5.1 (0)
    Host system: Linux
    Host version: 4.12.9-300.fc26.i686+PAE
User avatar
dimesio
Moderator
Moderator
Posts: 13207
Joined: Tue Mar 25, 2008 10:30 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by dimesio »

SquareAperture wrote: but i915_dri.so takes the hit.
It's very likely that the i915 driver is simply inadequate to run this app in Wine. I know you said it ran in Windows on the same hardware, but Linux drivers are not the same as the Windows ones, and this comes up frequently with the i915.
The difference of course being that before I ran the app setup before installing the .NET native dlls, and this try, that was reversed.

I believe the reason for the difference in this case is that winetricks dotnet40 sets the Windows version to XP and never changes it back. If you manually set the Windows version back to 7, you would get that popup error message from the app again. What changing the Windows version mostly does is trick the app into using a different codepath; when it thinks it's running in XP, it doesn't try to use functions that didn't exist in that version.

Code: Select all

    Wine build: wine-2.15 (Staging)
One thing I neglected to mention is that I tested the development release, not staging, and it was 2.16 and 2.17. It's a longshot, but it can't hurt to try the 2.17 development release.
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

Yes re: the XP setting. I do not mess with it, as there's at least 4 times winetricks warns you that if you do, and you are running .NET4 native, you will have issues. So I do not touch the settings. In the original attempt, when nothing was working, I tried every single windows setting because I had no idea what else to attempt, so if the log I posted was from win2008r2 that was just dumb coincidence; I do know about the XP thing though. Sorry if I added any confusion there.

And yea I'm entirely prepared that we're hitting a wall on hardware; it's a decade old, and I think the most I can allocate RAM to the video process is half a gig. Graphics then aren't graphics now. But I don't think so; many other wine things run quite well, some at near-native Windows speeds. I know this is down to the developer of the original app and not so much wine nor linux, so if we're at that stage I'm willing to accept it. I would love it to work, and just be painfully slow, to know that it was those lovely inefficiencies cropping up.

I'm all for longshots, I will pull 2.17 and compile tonight.

Thanks again.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by Bob Wya »

SquareAperture wrote:...
So close. And this time it 'crash' crashes so there's a wine debugger console dump. See below. (it should be small enough to in-line.) This time it seems it's related to video, be it the failed dxsetup, be it mesa, etc etc. no clue. but i915_dri.so takes the hit.
...
If you're using Fedora 26 then you're going to have a recent version of Mesa and your kernel (4.12.9) is up-to-date...
Maybe just a Mesa GL override is all you need?

Depends what generation of Intel iGP you have (pre-Haswell you may be out-of-luck).
But often Mesa will under-report capabilities to ensure GL compliance... You could try:

Code: Select all

export MESA_GL_VERSION_OVERRIDE="4.5"
export MESA_GLSL_VERSION_OVERRIDE="450"
Before running your application under Wine.

See Mesa Environment Variables...

Bob
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

Greetings Bob. Thank you for replying. You are a profuse perspicacious pontiff of all things wine, as is our venerated moderator. I welcome your assistance.

Ha! Dude. This is very pre-Haswell - pre-Sandy Bridge, pre-Nehalem, pre-Core even; we're talking a T2060. Yonah. ICH7. 2007. Right when we stopped calling them Pentiums and started calling them Cores. This was the last Pentium and is a decade old. (the max system RAM that the BIOS will allow me to assign to video is 192M, and not 512M as previously thought.). The 945GM contains the dreaded GMA 950, and supports OpenGL v1.4 max, software/firmware-emulated vertex shader support and no pixel shader support. In fact it only supports 18-bit color. (24-bit display is via dithering.) Talk about your high performance on-chip GPU! 1.6 Gpix / 1.6Gtex. :cool:

Sarcasm aside, it was pretty damn good. Just not for gamers. 9 of 10 laptops in this era had this chip! A similar spec '07 laptop with a GeForce 7150m, which also uses system RAM, could only do about half the GMA 950's 1.6GPix / 1.6 GTex, @ 0.85 / 0.85. Of course, an actual dedicated mobile GPU of that time, like a GeForce Go 7800 GTX @ 6.4 GPix / 9.6 GTex, was an easy decision... if you could afford the price difference. (Same as always: Cost. Performance. Quality. Pick two.)

Returning from Melancholy Lane to The Present... it didn't work. I didn't think it would, when you are suggesting lying up that much... I tried it anyways, because hell, what's there to lose? It appears that it requests a GL capability list, then tries to utilize said capability(ies), then crashes the driver when said capability(ies) doesn't exist. I won't post the logs as we know what happened, but thanks for the suggestion, it could just as easily have worked as not. (and oclcheck.exe still crashed first, guess there's no faking that answer either.)

I'd bet your suggested env overrides might work for cheating a little, but I doubt any GPU is under-reported that much. A v1.4 pretending to be v4.5 (or even v2.0) is just too big of a lie. Thanks for the suggestion though, and please share any other ideas like that you think of. One will work I know it.
dimesio wrote:One thing I neglected to mention is that I tested the development release, not staging, and it was 2.16 and 2.17. It's a longshot, but it can't hurt to try the 2.17 development release.
I'm worried my self-compiled wine may introduce yet more variables; instead I'll grab Sebastian Lackner's 2.16 Staging & 2.17 Development official binary packages for Fedora 26 i686 from WineHQ. I'll post the results soon. I still have hope. Not a lot of hope, mind...

Thanks everyone!
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by Bob Wya »

@SquareAperture,

I didn't really read your first post... To be fair to me - more formatting, less words (read "concise") is always good!
I checked out the DxO Optics homepage... I kind of had in mind a simple application - like Digikam... It's not!

If the older version of the application, you're trying to run, does any hardcore photo mangling, using the DirectX API, like the newer ones...
Well in a word... No - it's not going to run on your hardware!

Your GPU isn't ever going to support Wine's OpenGL->DirectX 9.0c translation layer... :cry:
It would be great in a museum though! 8)

Sorry I will try harder next time... :lol:

Bob
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

fair enough ;-)

And I know you didn't read it, it runs fine under windows (Vista x32)... it's not the card nor the ancient hardware, it's wine.

I'm sure we'll get it to run, I have some faith. But as for it having enough horsepower to run within wine, well that's up in the air. Gotta get it running first.
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

:pause for effect:

Holy crap, dimesio. It's running! (almost!) on 2.16 Staging. You knew that "what the hell, try upgrading!" approach was a total shot-in-the-dark, running out of suggestions, but look at that. It worked. I don't believe it. (well, seeing how many years you've been doing this, you actually will, but it's still damn funny.)
screen shot of DxO Optics Pro 8 x32 (almost) running on 2.16 Staging.
screen shot of DxO Optics Pro 8 x32 (almost) running on 2.16 Staging.
It doesn't crash on the initial load, however the main image window never displays the image file, just a sea of gray. Damn, it is close! Note that the image is actually there and is loaded; if I run anything on the image, it processes it (or crashes), and while in the interface like with the histogram, you can move the color selection tool around and it changes depending on where over the (invisible) image you are.

w/o d3dx9 native, it crashes after splash screen closes but menu draws, but with it, see the attached screenshot. Of course if it doesn't crash, we don't get a nice tidy backtrace log, so I keep manipulating the interface until it crashes. Causing lots of buffered input on the overlay where the image should be crashes it pretty easily.

There's a weird thing going on where there's a TON of pausing/freezing. Like at an even interval. And no, the system isn't pegged, only 1 core has any load, ~27% average. I'm not a debugger as I said initially, but what are all these __clone entries in the backtrace right after the thread creation? Hundreds of clones. Address or object or? There's also output to the console about the same, hundreds of lines:

Code: Select all

err:ntdll:RtlpWaitForCriticalSection section 0xa34e0d4 "?" wait timed out in thread 0093, blocked by 0094, retrying (60 sec)
err:ntdll:RtlpWaitForCriticalSection section 0xa34e0d4 "?" wait timed out in thread 0009, blocked by 0094, retrying (60 sec)
It's annoying. It's like wait() vs. sleep(), aka a blocking pause vs non-blocking, and again, if those messages mean that, what the hell can cause it?Is this from half-assed dotnet4 support? I don't want to escalate to the wine dev list yet, as I think there's more I can try - but I could be wrong. :-)

So yea... it RUNS... but it still doesn't WORK... close, though.

If you're still following this, any further assistance welcomed!
Attachments
dxo backtrace almost runs damn so close.txt.gz
wine 2.16 staging backtrace
(5.12 KiB) Downloaded 247 times
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

@Bob Wya:

Is there anyway to investigate that DX translation layer incompatibility thing you referenced? The fact the whole app runs but just the main window doesn't draw? That's a new one. Either the gfx work or they don't. Makes troubleshooting (more) frustrating. The image is there but not there, but the rest of the interface draws. Grr. You seem to be up on the graphics support knowledge - any idea where to look?

I'm d/l'ing the intel sources from 01.org and compiling my own driver, in a random "hail mary!" attempt, but like self-compiled wine, I don't want to add more variables to a problem that's nearly solved. I simply don't know what else to do. If it doesn't work I'll revert to the repository supplied one.
qwertymnb
Level 4
Level 4
Posts: 237
Joined: Sun Jan 17, 2016 4:36 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by qwertymnb »

just a shot in the dark: does running with:
LIBGL_ALWAYS_SOFTWARE=1 wine appname.exe
change anything?
User avatar
SquareAperture
Level 2
Level 2
Posts: 28
Joined: Sat Sep 02, 2017 12:30 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by SquareAperture »

Hi. And hey, thanks for helping. This suggestion uses experience and knowledge and logic. Nothing 'in the dark" about insight!

Hmm, nope. It didn't make any noticable change, really. With the weird locks/pausing, it runs exactly the same as it does with the intel driver. I ran LIBGL_ALWAYS_SOFTWARE=1 vblank_mode=0 glxgears just to make sure mesa was actually processing the command to use the software driver... I forgot I could just look at the console output:

Code: Select all

System information:
    Wine build: wine-2.17 (Staging)
    Platform: i386
    Version: Windows XP
    Host system: Linux
    Host version: 4.12.14-300.fc26.i686+PAE
fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits)").
fixme:wgl:set_pixel_format Using desktop window for OpenGL is not supported on windows
fixme:d3d9:wined3dformat_from_d3dformat Unhandled D3DFORMAT 0x54.
...
Anyway, nope no change. Still won't draw main window. Thanks for the attempt, though!
Bebef
Newbie
Newbie
Posts: 1
Joined: Sun Jul 22, 2018 3:23 am

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by Bebef »

I know, old post.... however, I'm stuck at the very same place: installing DxO 8 in Wine. Did you eventually figure out how to fix this and get DxO to run?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: need help learning to debug wine apps: DxO Optics Pro 8

Post by Bob Wya »

Bebef wrote:I know, old post.... however, I'm stuck at the very same place: installing DxO 8 in Wine. Did you eventually figure out how to fix this and get DxO to run?
If you could kindly test the application in a 32-bit WINEPREFIX...
See: WineHQ FAQ: 6.5.3 How do I create a 32 bit wineprefix on a 64 bit system?

You probably want to remove the builtin wine-mono library:

Code: Select all

winetricks remove_mono
because this application appears to require a 4.x .Net framework version.
Without wine-mono installed most 3.x (+) .Net framework-based applications kindly print out, precisely, the missing / required .Net framework (major) version.

Then post the terminal output from running the application and a backtrace (if one occurs).
See: WineHQ FAQ: 10.1.1 How can I get a debugging log (a.k.a. terminal output)?

Please prefix your wine command to run DxO Optics Pro with this command:

Code: Select all

export WINEDEBUG=+wgl
to test if your GPU is being utilised by the application.

Please use forum Code tags:

Code: Select all

I AM CODE
if posting logs inline (and for any terminal commands you post).

If a log is >200 lines, then it's easier if you post it to an external paste-bin-esque site...

Ta
Bob
Locked