06 Feb, 2017, khyldes wrote in the 1st comment:
Votes: 0
Has anyone tried compiling and booting the m20 (http://www.mudbytes.net/files/2914/) codebase on Linux and gotten it to work? I can compile it fine under OS X as indicated in the description but on Linux I'm getting double free or corruption errors.
06 Feb, 2017, Jindrak wrote in the 2nd comment:
Votes: 0
khyldes said:
Has anyone tried compiling and booting the m20 (http://www.mudbytes.net/files/2914/) codebase on Linux and gotten it to work? I can compile it fine under OS X as indicated in the description but on Linux I'm getting double free or corruption errors.


Looks like the open_reserve()/close_reserve() system wasn't always used with the changes since stock Emud. Commenting out line 205 (assuming I didn't screw up line numbers with my test logs) should work as a quick method to allow the Mud to boot.

void save_auth_list (void)
{
FILE *fpout;
AUTH_LIST *list;

// close_reserve();

if ((fpout = my_fopen (AUTH_FILE, "w", FALSE)) == NULL)
06 Feb, 2017, khyldes wrote in the 3rd comment:
Votes: 0
That did it, thanks!
07 Feb, 2017, Jindrak wrote in the 4th comment:
Votes: 0
khyldes said:
That did it, thanks!


Theoretically you could have this issue pop up again. I did notice a number of places where the reserve files were closed and then not reopened again.

E.g.,

close_reserve();

if ((fp = fopen(DUMMY_FILE, "w")) == NULL)
perror(DUMMY_FILE)
return


The reserve file should should be reopened before returning from the function. Tracking down these locations and instances _should_ resolve the errors.

Also, nice find in the Repository. I used to play Mortal Realms a LONG LONG LONG time ago. Consider it my first Mud in fact; wasn't the first one I logged into but was the one I actually played and learned on. Many years later I returned to it and Storms of Time before eventually moving on from them again…
0.0/4