darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.77k stars 1.14k forks source link

Tried the darktable windows insider program 11/28. Crashed hard! #10554

Closed bengtfalke closed 2 years ago

bengtfalke commented 2 years ago

I have tried the other Windows insider program since 3.6.1 and they have worked for me. However the 11/28 crashes hard with an Unhandled exception occurring.

darktable_bt_G6Y0D1.txt

MStraeten commented 2 years ago

you need to give some more details: See https://github.com/darktable-org/darktable/issues/new?assignees=&labels=&template=bug_report.md&title=

bengtfalke commented 2 years ago

When I try to start DT it never opens, just shows a sign with Unhandled exception occured. I could go back to the previous version. See the attached file on the original post.

darktable version : 3.70 + 1572 OS : Win10 19042.1288 Memory : 32 GB Graphics card : Gigabyte GeForce RTX 2070 SUPER OC 3X Graphics driver : 30.0.14.9613 OpenCL installed : yes OpenCL activated : yes M2 SSD disks

wpferguson commented 2 years ago

Just built tonights update and tested on win10. Runs without problems, in my brief test.

Dannny1 commented 2 years ago

Workaround for me was to delete/rename libportmidi.dll It happens on start for me with last 2 builds (1572,1637) on W8.1. After deleting it starts fine.

wpferguson commented 2 years ago

Did libportmidi.dll come with the darktable build or was it part windows?

bengtfalke commented 2 years ago

I still have the same problem with today's version Windows insider program 12/5 3.7.0 +1637 Hard crash with Unhandled exception... What does this libportmidi.dll do? Does it affect the midi performance or is it connected to DT in any way? Where did you find libportmidi.dll in the file system? I Have AMD Ryzen 9 3900 processor if that can be of any importance?

Dannny1 commented 2 years ago

It seems to come with these newer builds. Can be found if default location is used in Program Files\darktable\bin (opencl settings, configuration present or not has no effect on the issue on my system)

bengtfalke commented 2 years ago

Hmmm odd! I cant find that dll in that location or anywhere on my system?

bengtfalke commented 2 years ago

I can go back to version 1514 and that works fine but version 1572 and 1637 crashes on starting.....

Dannny1 commented 2 years ago

Really odd, your trace also shows this file: "darktable.exe caused an Access Violation at location 0000000070C41812 in module libportmidi.dll..."

bengtfalke commented 2 years ago

Mystery solved... lol It seems it is a new file in version 1572 and 1637 so when I reinstalled version 1514 it was deleted during the install. Then I installed version the latest version 1637 and renamed that file it all seems to work.... how odd. So the problem on mine and your system seems to be libportmidi.dll... where it comes from and what does it do ad is it ok just to rename/delete it or does that bring any future problems?

wpferguson commented 2 years ago

What version of windows are you running? I'm away from my computer right now so I can't check the portmidi lib. I did test the latest build on win 10 and it worked for me, but I'm not sure what version of win 10 I have.

bengtfalke commented 2 years ago

My windows version: Windows 10 Home, version 20H2, OS version: 19042.1348

wpferguson commented 2 years ago

My Win10 is Pro, 21H2, OS version 19043.1348.

I'm not having crash problems. Tried on Win11, works fine there too.

libportmidi.dll is included with darktable to provide support for midi input devices. If you're not using midi devices then yes, it's probably ok to rename it. The real answer is try it and see what happens.

Are any of you running any midi devices? Are any of you running any midi applications?

wpferguson commented 2 years ago

What language are you using? There is a somewhat similar problem on MacOS for users of french and a few other languages

dterrahe commented 2 years ago

Do we know which version of portmidi is included in the windows insider build? There was a recent update that resolved a crash that happened when darktable was started with any midi device connected.

In this case, @bengtfalke do you have a midi device connected at all? Maybe a software device? (I assume not, otherwise libportmidi probably would ring a bell, but worth asking anyway.)

wpferguson commented 2 years ago

The windows insider build was built with mingw-w64-x86_64-libportmidi-217-2. Looking in git there is a new version, 234-1, but it seems to be just a packaging change (libportmidi is now part of portmedia). I did try updating with pacman but it said that 2170-2 was still the current version

kmilos commented 2 years ago

I did try updating with pacman but it said that 2170-2 was still the current version

Need to run pacman -Sy first?

And I think it was more than a packaging change according to this comment.

kmilos commented 2 years ago

Btw, have you tried the nightly builds? Those are working ok for me so far on Windows 10 20H2 19042.1348...

bengtfalke commented 2 years ago

This Pc is in my music studio and have both midi controllers (mostly connected via USB midi) and midi programs on it. But I do not run them at the same time as DT. The sound interface is on all the time and is connected to the computer vi USB and has both audio and midi over USB. It is Maudio air 192/14. I use DT in English and my Windows Pc is in Swedish. Are the nightly builds compiled? If so I can of course try them out if you point me to them? I have set up a compile environment a while ago so if necessary I can have a go at that..... ;o)

kmilos commented 2 years ago

Are the nightly builds compiled?

Yes, hence the "builds"...

If so I can of course try them out if you point me to them?

See above, but here goes again. Click on the latest one at the top from last night, and then download and extract the zip near the bottom and run the installer as usual.

bengtfalke commented 2 years ago

It seems to be fixed now... I downloaded and installed the Nightly PKG #399: with version 3340c62-dirty. It also installed the new version of libportmidi.dll that is now 35 kB instead of the old version being 39 kB. Now all worked as expected! Thank you!

dterrahe commented 2 years ago

Thanks for reporting and testing!

The air 192/14 looks like an interesting machine. Does it send note and cc messages via USB? Then dt should respond to turning the knobs and you might be able to map them to sliders.

bengtfalke commented 2 years ago

No, I do not think the air 192/14 sends cc over midi but I have another controller that I think would be more suitable and that is the Novation Launchcontrol XL mk 2. It is cheap and have lots of sliders and knobs. I use it as a midi mixer but it can be used in many ways to control plugins etc. I also have a Novation Launchpad pro mk 3 that just have 64 pressure sensitive buttons that can be used as sliders and buttons in ways you self define... but that is a bit more expensive but very versatile.

dterrahe commented 2 years ago

Novation Launchcontrol / Launchpad XL / pro mk 2 / 3

Would be interesting to hear how well you can make those work with the dt midi interface.

The drawback of the Launchcontrol would be that neither the sliders nor the knobs are motorized or limitless (they have hard min/max stops), so when you change from one image to the next, they won't reflect the correct slider settings and you will have to move it first to make it match the actual setting before you can change it. This also limits the precision (to the number of different positions the knobs/sliders can send, probably <= 127). Whereas something like the x-touch mini or beatstep have virtually limitless precision (and adjustable using the shift or ctrl modifier).

But the Launchpad (and the buttons of the Launchcontrol) could still be useful to toggle options and modules. Possibly their lights could (be made to) indicate the current state of those toggles and modules. Although the latter will have to wait until after #10520 gets merged.

If you have any tips on any custom configuration required for these devices to make them work well, please consider contributing to https://github.com/darktable-org/dtdocs/blob/master/content/special-topics/midi-device-support.md

wpferguson commented 2 years ago

Upgraded mingw-w64-x86_64-portmidi to 234-1. This is the most current and same version that the nightly build is using.

dterrahe commented 2 years ago

Is it OK to close this bug now?

wpferguson commented 2 years ago

I think so. If it shows up again we can reopen.