Community
Participate
Working Groups
When running SWT standalone, if the DLLs are not found and if they exists in the SWT jar. The libraries are extracted into the temp folder and then loaded. If a version of the file already exists in the temp folder, that version is loaded even though the new DLLs from the jar have different (newer) contents. This is a problem that shows up at nightly builds only (developement time as well). It does not happen with integration builds because the DLL filename changes. But it does cause a lot of confusion.
Good plan. Anything done before mid-Oct, I'll have time to test, and most likely adopt at the next milestone release.
Last thing discussed: add a -clean flag that will overwrite any existing libraries.
I have not find a easy, inexpensive and reliable way of detecting the library in the jar is different than the one in the temp directory. One option was to compare the size of the library, but when the modification is small (add 1 native for example), the library size may not change due to padding. Checking timestamps is not possible because the library on the jar is found with getResourceAsStream(). Comparing each byte is slow. We may as well extract the library on every launch. I do not think this worth, given that the problem only happens on nightly/custom builds. The -clean flag (-Dswt.library.clean) is a possibility. If someone suspects that the libraries are stale, it would be possible to specify this flag to force the libraries to be extracted.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug. If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie.