Jump to content
Eternal Lands Official Forums
bluap

Client changes since 1.9.5p8 - to be kept up to date

Recommended Posts

With advice form pro-debugger Ben - I found :

[14:52:16, C:/msys64/home/paul/el-client/elc/json_io.cpp:31] Info: int JSON_IO_Client_State::Client_State::load(const char*):708  [C:\Users\XXXXXX\Documents/Eternal Lands/main/client_state.json]
[14:52:16, C:/msys64/home/paul/el-client/elc/json_io.cpp:29] Error: int JSON_IO_Client_State::Client_State::load(const char*):712 Failed to open [C:\Users\XXXXXX\Documents/Eternal Lands/main/client_state.json]
 

Where XXXXXX is the window user name

Share this post


Link to post
Share on other sites

Those errors seem to be normal for folks running a client with JSON capability for the first time (certain files don't exist yet). The client_state file seems to be created when a JSON capable client is first closed, and testing here without the client_state file isn't causing any crashing (but I do see the same errors as you, as expected).

Edited by Ben

Share this post


Link to post
Share on other sites

I have gotten this same behavior on my windows system with both the compiled one from the first post as well as the ones I have built through msys. At first i thought it was a permissions issue when i had finally got it to log me in while running the client with elevated permissions. But after speaking with bluap and the fact it only worked once, I have chalked it up to being a fluke.

Share this post


Link to post
Share on other sites

Is it actually working for anyone other than me?  I'll try on another machine and see what I can find.

Edited by bluap

Share this post


Link to post
Share on other sites
5 hours ago, shadowgate said:

I have gotten this same behavior on my windows system with both the compiled one from the first post as well as the ones I have built through msys. At first i thought it was a permissions issue when i had finally got it to log me in while running the client with elevated permissions. But after speaking with bluap and the fact it only worked once, I have chalked it up to being a fluke.

I can't reproduce this problem.  I've tried installing the update on top of a clean 1.9.5p8 install on my dev virtual machine environment and an old PC.

@shadowgate if you still having issues with your own build, perhaps you could try running the client using the debugger and finding out were the crash is happening?

Apologies if you already know this but....

From the msys terminal...

First, use pacman to install the debugger "pacman -S gdb".

Changed to the install directory for the client "cd <the path>" and run the debugger "gdb el.exe".

At the "(gdb)" prompt, type "run".

If and when the client crashes, type "where" at the (gdb) prompt and please post the output here.

Thanks.

Edited by bluap

Share this post


Link to post
Share on other sites
3 hours ago, bluap said:

Is it actually working for anyone other than me?  I'll try on another machine and see what I can find.

 

On Linux it's working for me.

I performed the following steps:

  1. Backed up ~/.elc
  2. Downloaded Linux General Installer from page "New client update available 1.9.5.p8": http://www.eternal-lands.com/forum/index.php?/topic/61374-new-client-update-available-195p8/
  3. Ran installer and installed to a new location -- /home/<user id>/eternal_lands_release so as to not overwrite my normal install.
  4. Downloaded and installed updated binary and data files from page "Client changes since 1.9.5p8 - to be kept up to date": http://www.eternal-lands.com/forum/index.php?/topic/61400-client-changes-since-195p8-to-be-kept-up-to-date/
  5. Updated dat_dir in ~/.elc/main/el.ini to new installation location.
  6. Ran eternal_lands.sh, I get some warnings from el_config.c in main log but nothing that causes any problems.
  7. Went to Options->Server and checked "Use New Format To Save User Files (.json).
  8. Got some json_io.cpp errors like others did.
  9. Exited and re-launched client. Everything is working ok.

 

Share this post


Link to post
Share on other sites

I got some problems with the json files once, after an unclean pc shutdown (i accidently pulled the plug )

The json files on startup where empty and the game did throw out errors because the file did exist but where empty

or maleformed. I had troubles getting everything back to normal only after i removed using json files deleted all files and activated it again it worked

 

Share this post


Link to post
Share on other sites

OK this is bizarre as hell..

 

Setup a second el install folder - so could toggle between the two.

Set test EL install to run on test - and it worked!  WTF!!!!

Swapped over el.ini files - that was not the issue.

 

I can now run new client - existing 'main' client folder - existing el.ini - if I remove just 5 files from the 'main' folder......

 

And those files - the user menus.....

 

Remove *.menu from c:/users/XXXXX/eternal lands/main and all works!

 

Add back in menu - it breaks 

Load with menus disabled it works

Try and enable menu with a .menu file it breaks

try with a simple menu file - it breaks

Try with one of Ben's know good menus - it breaks

Cheat and change OD OAO to just OA - it breaks

 

Over to you Bluap.

Share this post


Link to post
Share on other sites

OK so loading up proc mon again - when I try and enable menus - I see:

 

querydirectory C:\Users\XXXX\Documents\Eternal Lands\main\*.menu - success

queryname info \Program Files (x86)\Eternal Lands\el.exe - success

Then

processcreate C:\WINDOWS\system32\WerFault.exe -u -p 45492 -s 1768

 

ID:    38124
Command line:    C:\WINDOWS\system32\WerFault.exe -u -p 45492 -s 1768

 

Which does not sound good....

 

Switching to eventviewer gives app error in ntdll.dll

Faulting application name: el.exe, version: 1.9.5.1, time stamp: 0x605278db
Faulting module name: ntdll.dll, version: 10.0.19041.844, time stamp: 0x60a6ca36
Exception code: 0xc0000005
 

- <System>
  <Provider Name="Application Error" />
  <EventID Qualifiers="0">1000</EventID>
  <Version>0</Version>
  <Level>2</Level>
  <Task>100</Task>
  <Opcode>0</Opcode>
  <Keywords>0x80000000000000</Keywords>
  <TimeCreated SystemTime="2021-04-05T10:07:06.7812510Z" />
  <EventRecordID>17012</EventRecordID>
  <Correlation />
  <Execution ProcessID="0" ThreadID="0" />
  <Channel>Application</Channel>
  <Computer>XXXXXX</Computer>
  <Security />
  </System>
- <EventData>
  <Data>el.exe</Data>
  <Data>1.9.5.1</Data>
  <Data>605278db</Data>
  <Data>ntdll.dll</Data>
  <Data>10.0.19041.844</Data>
  <Data>60a6ca36</Data>
  <Data>c0000005</Data>
  <Data>000000000002faad</Data>
  <Data>b1b4</Data>
  <Data>01d72a034a70ed23</Data>
  <Data>C:\Program Files (x86)\Eternal Lands\el.exe</Data>
  <Data>C:\WINDOWS\SYSTEM32\ntdll.dll</Data>
  <Data>a8ef7286-c785-40de-b01b-43588fb26b62</Data>
  <Data />
  <Data />
  </EventData>
  </Event>

Share this post


Link to post
Share on other sites

OK, I found the problem and its a one line fix which I'd commit now and build updated packages.

 

Thanks for all the debugging, noticing the link to the user menus was the key.

 

The details:

There was a change in the file finding functions on windows recently which changed the file handle size.  These functions are only used on windows.  This exposed a bug in EL which was not using the proper type definition.  I fixed this a few weeks ago elsewhere in the client but did not think to check for other usage.  As I don't play on windows, I did not have the user menus enabled so didn't notice the bug was there too.

Edited by bluap

Share this post


Link to post
Share on other sites

Many thanks - Nicely done... the old debugging skills still working i see.

 

Shout when it's updated and I can test,

Share this post


Link to post
Share on other sites

Change committed and windows builds updated.  This rolls us forward to the latest git so I'll build the other packages too and update the top post with the full list of changes.

 

One change you'll notice if you are using the True Type fonts, is that your selection will have been reset.  This is an unfortunate side effects of changes that have been made so we can ship some nice fonts with the next point release.

Share this post


Link to post
Share on other sites

I've updated all the builds including the earlier published windows build (to include commits that were done for TT fonts while I was building).

The version will be 1.9.5-20210405.15MM (the minutes vary).  I've updated the first post.

Share this post


Link to post
Share on other sites
On 05/04/2021 at 7:54 AM, vinoveritas said:

I got some problems with the json files once, after an unclean pc shutdown (i accidently pulled the plug )

The json files on startup where empty and the game did throw out errors because the file did exist but where empty

or maleformed. I had troubles getting everything back to normal only after i removed using json files deleted all files and activated it again it worked

On this, the json files are not held open by the client so it hard to see how they could have been corrupted by pulling the power.  Unless the client was in the middle of writing changed back when it happened.  Was it all the json files that were empty of just some?

Share this post


Link to post
Share on other sites

It was all the json files and just them, and while i do not think it was in reading or writing them when it happend as i did not make any changes, they where the only one affected on that sudden powerloss

 

Edited by vinoveritas

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×