Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug zasfx-UI crashes lmms #892

Closed
musikBear opened this issue Jun 25, 2014 · 17 comments
Closed

Bug zasfx-UI crashes lmms #892

musikBear opened this issue Jun 25, 2014 · 17 comments

Comments

@musikBear
Copy link

win 32 1.0.91 219614
crash of lmms when 'show voice parameters' button in zasfx is pressed
http://snag.gy/WTxUy.jpg

and #703

@tresf
Copy link
Member

tresf commented Jun 27, 2014

1.0.91 x64 (windows 8) crashes for me when the Show GUI button is clicked. Looks like ZASF has some bugs that need to be worked out prior to the release of 1.1. @diizy or @eagles051387 can you tag this bug for 1.1?

@tresf
Copy link
Member

tresf commented Jun 30, 2014

So after some discussion about #916, I tried the installer via Wine.
Interesting enough... the Wine error messages are actually very useful: 👼

@tobydox Did we change the way linking works with 1.1? This seems to be directly related to library linking:

err:module:import_dll Library QtSvg4.dll (which is needed by L"Z:\\opt\\mingw32\\lib\\qt4\\plugins\\iconengines\\qsvgicon4.dll") not found
err:module:import_dll Library QtSvg4.dll (which is needed by L"Z:\\opt\\mingw32\\lib\\qt4\\plugins\\iconengines\\qsvgicon4.dll") not found
fixme:win:FlashWindowEx 0x86f19c
QtXmlWrapper::loadXMLfile(): empty data 
err:module:import_dll Library libfltk.dll (which is needed by L"C:\\Program Files (x86)\\LMMS\\plugins\\RemoteZynAddSubFx.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files (x86)\\LMMS\\plugins\\RemoteZynAddSubFx.exe" failed, status c0000135

@tresf
Copy link
Member

tresf commented Jul 1, 2014

Ok, so this just seems to be a packaging issue. A proposed fix to the two missing libraries is to add the following lines to CMakeLists.txt: Note FLTK is in lib, NOT bin.

IF(LMMS_BUILD_WIN32)
...
INSTALL(FILES
   ...
   "${MINGW_PREFIX}/bin/QtSvg4.dll"
   ...
   "${MINGW_PREFIX}/lib/libfltk.dll"
   ...

In addition:

   ...
    "${MINGW_PREFIX}/bin/libjpeg-9.dll"
   ...

It also complains about vstbase.dll but that might be a false positive or a 32/64 bit problem since I'm using Wine to troubleshoot missing libraries.

My instinct is that the old 1.0 and older customized version of Zyn did the FLTK part for us so it's probably better to be permanently addressed there if -- for instance -- Zyn is removed from the dependencies list on Win32 (unlikely but possible).

Off topic but the NSIS integration into cmake sure is slick. 👽 :)

Will make some 32-bit and 64-bit packages and then issue a pull request.

image

@diizy
Copy link
Contributor

diizy commented Jul 1, 2014

On 07/02/2014 12:26 AM, Tres Finocchiaro wrote:

Ok, so this just seems to be a packaging issue. A proposed fix to the
two missing libraries is to add the following lines to CMakeLists.txt
https://github.com/LMMS/lmms/blob/stable-1.1/CMakeLists.txt#L462:
Note FLTK is in |lib|, NOT |bin|.

IF(LMMS_BUILD_WIN32)
...
INSTALL(FILES
...
"${MINGW_PREFIX}/bin/QtCore4.dll"
"${MINGW_PREFIX}/lib/libfltk.dll"
...

Sounds good to me.

@tresf
Copy link
Member

tresf commented Jul 1, 2014

Here are the updated installers which address the hard Zyn crash on Win32/Win64:

32-bit

https://drive.google.com/file/d/0B4PpvIwHd1U0UzNOdWd4QUNoNzg/edit?usp=sharing

64-bit

https://drive.google.com/file/d/0B4PpvIwHd1U0Q1BHOUthYkFLMlE/edit?usp=sharing

Note these do not include @diizy 's Zyn sync from pull request #916 so the Instrument Edit artifacts are still present in this build.

#919

@musikBear
Copy link
Author

unfortunale tresf' buil from 1. june does not fix this. The behavior has changed. Now there is one more error-message, but the crash happens at the same event
http://snag.gy/f4RlE.jpg
So in native xp 32 (not wine) This bug persists
Need confirmation from other xp'er!

@tresf
Copy link
Member

tresf commented Jul 2, 2014

unfortunale tresf' buil from 1. june does not fix this

I assume you mean July 1st. I've confirmed this bug still exists in Windows XP.

It is probably safe to assume this will end up like #704 and be marked as wontfix due to being isolated to Windows XP (unless this is related to another open bug such as the slow load times or slider artifacts mentioned in #759).

image

I even tried forcing Wine to use Windows XP, Windows 2000 and Windows NT 4.0 to try to reproduce this in a more verbose environment to no avail (it works every time).

image

I would strongly suggest moving to a more modern OS. Contact me personally if you need "help" with this. :)

@tresf
Copy link
Member

tresf commented Jul 2, 2014

Ok.. some good news...

I downloaded fftw-3.3.4-dll32.zip (March 16, 2014) and extracted:

image

So @tobydox where do we get our fftw dlls? Should we update those? (or have they been updated I just need to grab the news ones?)

@diizy
Copy link
Contributor

diizy commented Jul 2, 2014

On 07/02/2014 06:13 PM, Tres Finocchiaro wrote:

So @tobydox https://github.com/tobydox where do we get our fftw
dlls? Should we update those? (or have they been updated I just need
to grab the news ones?)

I'm assuming the fftw version used is whichever is on the build system.
So it's up to whoever does the windows build to use up-to-date sources...

@tresf
Copy link
Member

tresf commented Jul 2, 2014

it's up to whoever does the windows build to use up-to-date sources

Currently they come from @tobydox 's custom repo at this stage (step 4 or 5) of the build process.

Interesting enough, Toby's version seems to reflect 3.3.4-1 as opposed to FFTW's version 3.3.4 so he's probably already on the latest.

In terms of patching this, the packaging person can certainly grab a custom version directly from FFTW or any 3rd party site, but it's probably best corrected in Toby's mirror since that's what we're all using.

IIRC I've seen previous Windows bugs get fixed by Toby simply by recompiling so I'm interested to hear if this is compiler related or code related.

Here are FFTW's build notes about the Windows Version:

We have created precompiled DLL files for FFTW 3.3.4 in single/double/long-double precision, along with the associated test programs. We hope that these are sufficient for most users, so that you need not worry about compiling FFTW:

These DLLs were created by us, cross-compiled from GNU/Linux using MinGW; the 64-bit version is possible thanks to the mingw-w64 project. You should be able to call them from any compiler. In order to link to them from Visual C++, you will need to create .lib "import libraries" using the lib.exe program included with VC++.

I wouldn't be surprised if Toby strips out the test programs to reduce file size as his DLLs are much smaller in size.

@diizy
Copy link
Contributor

diizy commented Jul 2, 2014

On 07/02/2014 08:23 PM, Tres Finocchiaro wrote:

it's up to whoever does the windows build to use up-to-date sources

Currently they come from @tobydox 's custom repo
https://launchpad.net/%7Etobydox/+archive/mingw/+packages at this
stage
https://github.com/LMMS/lmms/wiki/Compiling-lmms-%28Windows%29#installing-packages-for-cross-compiling
(step 4 or 5) of the build process.

Do we need to use special packages there? Why can't we just use the
regular sources for the dependencies?

@tresf
Copy link
Member

tresf commented Jul 2, 2014

Here are the updated Windows installers which address the #892 "show voice parameters" Zyn crash on Windows XP as well as the #759 "visual artifacts" bugs.

I intentionally and prematurely bumped the version of these installers to 1.0.92 as to easily distinguish from the previous versions.

32-bit

https://drive.google.com/file/d/0B4PpvIwHd1U0dERvS2xpNUY1Nms/edit?usp=sharing

64-bit

https://drive.google.com/file/d/0B4PpvIwHd1U0Nk9GQ0hDcnZJSzg/edit?usp=sharing

@tobydox
Copy link
Member

tobydox commented Jul 2, 2014

We have all required libraries in my PPA. Advantage: they are all built using the same toolchain (GCC, binutils, mingw64 runtime, ...) and thus we reach the highest possible degree of binary compatibility and do not have external dependencies (like VisualStudio runtime DLLs etc.). Last but not least, everything is cleanly built from upstream source, thus no license issues (in terms of unfree components linked in like ASIO in PortAudio or similar) and definitely no virus/malware infections.

If you need updates for certain packages, just tell me.

@tresf
Copy link
Member

tresf commented Jul 3, 2014

What are your thoughts on fftw? Why do you think XP doesn't crash with the DLLs from the project site? (They claim to use MINGW as well)

@tobydox
Copy link
Member

tobydox commented Jul 3, 2014

Looks like my build scripts (debian/rules) needed some tweaks. Can you please try installing

http://www-user.tu-chemnitz.de/~doto/lmms/mingw32-x-fftw_3.3.4-2_all.deb
http://www-user.tu-chemnitz.de/~doto/lmms/mingw64-x-fftw_3.3.4-2_all.deb

in your build environment (or extract the DLLs using "dpkg -x") and see whether they work? At least things are almost identical now to ftp://ftp.fftw.org/pub/fftw/BUILD-MINGW32.sh and ftp://ftp.fftw.org/pub/fftw/BUILD-MINGW64.sh

@tobydox
Copy link
Member

tobydox commented Jul 6, 2014

Should be fixed in latest FFTW package in my PPA - please upgrade.

@tobydox tobydox closed this as completed Jul 6, 2014
@tresf
Copy link
Member

tresf commented Jul 7, 2014

Confirmed.

(Updated fftw packages, recompiled, tested on XP)

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants