CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Linux
Discussion about CrossOver Linux

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Kubuntu 14.04(64bit) kernel update(3.13.0.29) breaks 16 bit applications

Updated kubuntu 14.04(64bit) today which included a kernel update from 3.13.0.27 to 3.13.0.29. After rebooting, an old windows jigsaw program called "jigsaws Galore" failed to launch. Other widows applications launced without incident. This is the error message I get when troubleshooting:

"err:module:attach_process_dlls "krnl386.exe16" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"C:\windows\system32\winevdm.exe" failed, status c0000005"

Googling the error message indicates that this error is caused by the kernel update:

http://forum.winehq.org/viewtopic.php?f=8&t=22540

It appears to effect only 16 bit applications. Reverting to the 3.13.0.27 kernel restored full functionality so this is definitely a kernel issue as noted in the above link. Just a heads up to anyone else that experiences issues after a kernel update.

The 3.13.0.29 kernel seems to affect more than just 16-bit applications. I have several Windows 98 bottles and the kernel update breaks all of them. As you noted, booting the previous kernel (3.13.0.27) eliminates the problem for all of them - everything runs as it should.

I haven't examined the issue exhaustively, but here are some symptoms I observed:

  • Applications in those bottles won't run when selected from the menu, and these aren't 16-bit applications.
  • In the Bottle Manager, all the Win 98 bottles get stuck at "Scanning ..." for hours. As a result, those bottles can't be viewed, edited etc. top shows "wineboot.exe --init" running at 100% for each bottle. Only a "kill -9" stops them.
  • Running cxreboot against any Win 98 bottle causes the process to print "modify_ldt: Invalid argument" several times and then hang indefinitely. top shows "wineboot.exe --init" running at 100%. Only a "kill -9" makes it stop.

As mentioned later in the thread you posted (http://forum.winehq.org/viewtopic.php?f=8&t=22540#p94008), the kernel update seems to affect any binary in certain bottle types whether they are 16-bit or not.

I haven't tried changing the bottle type to Windows XP yet (I'm still booted into 3.13.0.27), but I presume this would restore functionality under 3.13.0.29. Until there's a wine/crossover or kernel update that fixes the issue, the workaround seems to be to change the bottle type to XP, if the underlying windows apps can run without trouble in that bottle type. I'm not sure that will work for me since these are older games (eg. Star Trek Deep Space 9 - The Fallen) that work better under the Windows 98 bottle type based on reports in the compatibility database.

Update:

Changing bottle type from Windows 98 to Windows XP fixed the problem of non-functional bottles under the 3.13.0.29 kernel. (This workaround will probably not work for 16-bit applications regardless of bottle type.)

Bottles are scanned and reported as "Ready" in the bottle manager as normal. They no longer hang in a perpetual "Scanning ..." state.
Applications run as they did before the kernel upgrade broke the bottles.
cxreboot.exe runs quickly and exits normally. The error message "modify_ldt: Invalid argument" no longer appears.

A relevant bug report in WineHQ bugzilla is here: http://bugs.winehq.org/show_bug.cgi?id=36664

Note: After changing bottle type to "Windows XP" using the "Wine Configuration" tool in the bottle's Control Panel, bottles still had their type listed as "Windows 98" in the bottle manager. Manually editing cxbottle.conf for each bottle to be migrated and changing "Template" = "win98" to "Template" = "winxp" changed their listing to type Windows XP. Note that editing cxbottle.conf alone is not sufficient to change bottle type - you still have to change the type using the Wine configuration tool.

We are aware of the kernel change. There has been a discussion on LKML about this a while ago when this was first introduced in the mainline development branch.

Linux 3.15 will contain an option to re-enable 16 bit segments. It looks like the developers are working on a proper fix for 3.16, which plugs the information leak without disabling 16 bit segments. Unfortunately the common backported fix is to unconditionally disable 16 bit prefixes, as you see in Ubuntu's 3.13 kernel.

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzA4NjEzODE4LCJjc3JmX3Rva2VuIjoieVdDZ2dIYXFweVlrMnh0QSIsImdkcHIiOjB9