Jump to content

Can anyone get the SL viewer to run under Wine on Linux any more? Crashes with uncaught C++ exception during login.


animats
 Share

You are about to reply to a thread that has been inactive for 122 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Until recently, it was possible to run the Second Life viewer under Wine on Linux. That's no longer working. I hardly ever bother to run the SL viewer, but I'm working with someone who is trying to set up pathfinding with the SL viewer. They can't find the right menus. and the LL documentation has screenshots of totally different menus from the distant past.

Fortunately, I can still run the Puppetry project viewer! So I don't have to fix LL's code.

What seems to be broken is the "SL Version checker". That hasn't worked under Wine for years. Crashes because it wants some DLL Wine doesn't have. But until recently, that didn't matter. Now, for some reason, when it aborts, LLLogin::loginCoro fails with an unhandled C++ exception during login. Look at the code around line 232 of lllogin.cpp. It looks like if the login response has "wait_for_updater" set, it's forced down a path that requires updater success. I think.

Also,

  • media_plugin_cef.dll now fails. This is new. 2023-12-29T22:36:15Z WARNING #Plugin# llplugin/llplugininstance.cpp(106) LLPluginInstance::load : apr_dso_load of C:\Pro
    gram Files\SecondLifeViewer\llplugin\media_plugin_cef.dll failed with error -2146763645 , additional info string: Unknown error

No, I'm not going to file a JIRA. I'll get the same "Linux is not supported" response as last time.

  • Like 1
Link to comment
Share on other sites

I can't say I've ran it recently, but I was using the SL Viewer via Wine during PBR testing and didn't have issues beyond the python issue.

54 minutes ago, animats said:

o, I'm not going to file a JIRA. I'll get the same "Linux is not supported" response as last time.

This two-facedness needs to be brought up at a TPV meeting - I believe DaveP has stated recently that LL is "definitely open for Linux PRs", so if they aren't, then complaining about it and pointing to the PR might get some traction behind it.

Link to comment
Share on other sites

1 hour ago, Jenna Huntsman said:

can't say I've ran it recently, but I was using the SL Viewer via Wine during PBR testing and didn't have issues beyond the python issue.

Which version? I was using 7.1.1. A few versions back, it worked. Released 6.6.10 works on the same machine. So, somewhere between 6.6.10 and 7.1.1, something was broken.

I can live with LL not supporting a full Linux version, but it ought to as least work under Wine, like most other games.

Ref to 2021 JIRA: https://jira.secondlife.com/browse/BUG-230918

Edited by animats
Add ref to old JIRA
Link to comment
Share on other sites

I warned @Vir Linden about this crash fest under Wine, at the last Open Source development meeting.

I suggested him to check what MSVC version was in use to build the viewer on github: MSVC1937 is the culprit for systematic crashes I myself saw happening with my own viewer (and I had to do an emergency update with a build done after I reverted my build system to MSVC1936, which Micro$oft exceptionally allowed in the VS installer, demonstrating they knew their 1937 version was bogus). MSVC1938 has since been released and does not cause crashes any more...

This is not to say that the crashes you are seeing are indeed due to this (potential) issue, since this could just as well be some code in LL's viewer triggering a Wine bug (it won't be the first time), but I now can run the latest official viewer I downloaded (v7.1.2.7215179142) without seeing it crashing every few seconds under Wine, so either LL updated from MSVC1937 to MSVC1938 on github, or the new viewer version is not triggering any more a Wine bug...

Edited by Henri Beauchamp
Link to comment
Share on other sites

8 hours ago, animats said:

Which version? I was using 7.1.1. A few versions back, it worked. Released 6.6.10 works on the same machine. So, somewhere between 6.6.10 and 7.1.1, something was broken.

I can live with LL not supporting a full Linux version, but it ought to as least work under Wine, like most other games.

Ref to 2021 JIRA: https://jira.secondlife.com/browse/BUG-230918

Checking now, Second Life Release 7.0.0.580782 (64bit) seems to work under Wine on my system.

Link to comment
Share on other sites

Hm. I just downloaded 7.1.2.71xxx, the PBR maint viewer, and it crashed. I have the debug info.

First, the updater crashes with a subscript out of range in Python code. (Where's the source code for the updater, anyway.)

updatercrash.thumb.png.474063f7ed90129a2917dc358e370879.png

Subscript out of range in Python. Should be easy to fix.

Then the CEF plugin fails:

pefcrash.thumb.png.01d32efff53e580874ae0e18267dd2f4.png

This doesn't happen with viewer 6.6.10.

The viewer offers the login screen, and I log in.

Then, the full crash:

wine: Unhandled page fault on write access to 0000000000000000 at address 00000001411C4612 (thread 0288), starting debugger...

2023-12-30T18:44:30Z WARNING #LLCoros# llcommon/llcoros.cpp(368) LLCoros::toplevel : Capturing uncaught exception in coroutine LL
Login::Impl::login_
2023-12-30T18:44:30Z INFO #AppInit# newview/llstartup.cpp(2980) LLStartUp::setStartupState : Startup state changing from STA
TE_LOGIN_AUTH_INIT to STATE_LOGIN_CURL_UNSTUCK
2023-12-30T18:44:30Z INFO #LLProcess# llcommon/llprocess.cpp(1023) LLProcess::handle_status : updater process (2452) exited
with code 1
2023-12-30T18:44:30Z INFO #LLLeap# llcommon/llleap.cpp(180) LLLeapImpl::done : updater process (2452) exited with code 1
2023-12-30T18:44:30Z WARNING #LLCoros# llcommon/llcoros.cpp(225) LLCoros::rethrow : Rethrowing exception from coroutine LLLog
in::Impl::login_
Unhandled exception: C++ exception(object = 0000000017789860, type = 0000000142647548, base = 0000000140000000) in 64-bit code (0x00000
07b01329e).


This is what happens in C++ when you de-reference a null pointer.

Trouble is in Login::Impl::login_, which is where the results from the updater are received and dealt with.

Looks like this build doesn't have debug symbols, so the backtrace is just numbers. I have the full log, of course; ask if you want a copy.

Now, in 6.6.10, the updater still crashes, but it doesn't take down the whole viewer. Nor is the CEF plugin crashing.

 

  • Thanks 1
Link to comment
Share on other sites

Oh, you mean that crash with the version checker ?

Yes, it always crashed for me under Wine... But, you can simply delete SLVersionChecker.exe (or whatever they call it exactly), and the viewer will then start just fine: it will complain that it can't start the version checker, but will keep running nonetheless.

As for the CEF plugin, it should work... It does for me.

Edited by Henri Beauchamp
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Works for me, as long as I have a pure install of wine in my /home directory.  No winetricks, dxvk or MS DLLs added. I use the development branch. Still crashes occasionally, but it works better overall.

It's the same for the other Windows viewer I use most with Wine, Black Dragon. For me, that one is more stable in Wine vs the LL viewer, I can run an hour or so with that before it crashes (if it does at all, it runs with fewer errors shown in the terminal).

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

12 hours ago, JeromFranzic said:

I use the development branch. Still crashes occasionally, but it works better overall.

Of the LL viewer, or of Wine? Please give versions of everything. Thanks.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 122 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...