player file error

Posted by Joeyfogas on Mon 12 Mar 2018 06:53 PM — 9 posts, 32,459 views.

#0
I am getting the errors

Comm: Preloading player data for: Tester (1K)
Bug: [*****] BUG: fread_char: no match: d
Bug: [*****] FILE: ../player/t/Tester LINE: 17
Bug: [*****] BUG: fread_char: no match: d
Bug: [*****] FILE: ../player/t/Tester LINE: 18


and the player file is showing this on those lines

Act 570426952d
AffectedBy 16d



I have tried to find out exactly what is putting the "d" in the files but can't figure it out


I am using SMAUGFUSS 1.9b and haven't modified it much at all.. .I have been getting this since the beginning... anyone else know what is up?
Australia Forum Administrator #1
Can you give a link to the exact download you are using? And does this issue occur if you use the totally unmodified source?
#2
I think he is using SmaugFuss.

I tested a lot of codebase before starting my project and I have a DB of corrections I found here and there (or I wrote myself).

This should fix your problem (Smaugmuds.org):

Open up misc.c and find print_bitvector().

Change this:
snprintf( p, ( XBI * 12 ) - ( p - buf ), "%ud", bits->bits[x] );

To This:
snprintf( p, ( XBI * 12 ) - ( p - buf ), "%d", bits->bits[x] );
#3
That was exactly the problem!!

Yes it was on unmodified... Also on the unmodified, there seems to be an error when connecting to link dead characters

I was getting errors about bool always being false in comm.c and changed check_reconnect to int instead of bool, which got rid of error....

but would segfault when connecting to link dead.. I changed it back to bool and removed -Werror from makefile so it would compile, and even then.. still segfaults on connecting to link-dead.

Unmodified smaugfuss 1.9b from smaugmuds.org

compiling using Cygwin...


happen to have something in your database for that?
Australia Forum Administrator #4
Are you using exactly the code from GitHub?
Amended on Tue 13 Mar 2018 12:40 AM by Nick Gammon
#5
https://www.smaugmuds.org/files/SmaugFUSS-192-472/

this one
#6

if( check_reconnect( d, argument, FALSE ) == BERR )
      return;



if( check_reconnect( d, argument, FALSE ) )
   {
      fOld = TRUE;
   }
   else
   {
      if( sysdata.wizlock && !IS_IMMORTAL( ch ) )
      {
         write_to_buffer( d, "The game is wizlocked. Only immortals can connect now.\r\n", 0 );
         write_to_buffer( d, "Please try back later.\r\n", 0 );
         close_socket( d, FALSE );
         return;
      }





think i have zeroed in on the issue... check_reconect is called twice in a row
Australia Forum Administrator #7
I hope you read this really recent thread on the same subject:

http://www.gammon.com.au/forum/?id=14197
#8
I did, yes.. but did not work for me...upon making those changes I was still getting segfault on trying to connect while link-dead

I found another issue that was causing it for me in the con_get_password section..

there is a similar code there as well... I am working with someone on the smaugmuds forum to help resolve it...

I got it to connect now without crashing, however I am seeing my link-dead self. lol


apparently (according to them) someone changed something on the github without testing it out...


ok I got it...



For anyone using 1.9.2, use the comm.c file from 1.9.1


my problem was in the void nanny_get_old_password section.



thanks everyone!