Misterious Traceback in LambdaCore

1 view
Skip to first unread message

Daniel Villalon

unread,
Dec 22, 2017, 10:03:12 AM12/22/17
to MOO Talk
Hello People.
I¡m hosting a moo since April, and until today everything is working fine, but me and the players discovered a strange traceback.

When someone tries to create the username alex (create alex passwd) The lambdacore database prints this traceback.
#0:handle_uncaught_error, line 3:  Invalid indirection
(End of traceback)
#37:insert (this == #39), line 35:  Range error
... called from #37:insert (this == #39), line 48
... called from #37:insert (this == #39), line 48
... called from #37:insert (this == #39), line 48
... called from #37:insert (this == #39), line 48
... called from #10:cr*eate @cr*eate crear, line 45
... called from #0:do_login_command, line 20
(End of traceback)
only happens with this name, alexa, álex, and any derivative works perfectly. It's a minor problem but the bug is still here. Can someone explain me what's happening? It's only happening in my lambdacore? I'm Using lambdacore 1.8.1 and same version of lambda server.
Thanks!

Tim van Dijen

unread,
Dec 22, 2017, 10:21:58 AM12/22/17
to MOO-...@googlegroups.com
Hello Daniel!

It looks like your player db somehow got corrupted... The exact reason why is hard to tell, but I've seen it happen before.
You can usually fix it by rebuilding the database with the command:
;$player_db:load()

The error in #0:handle_uncaught_error is most likely because it tries to :tell or :notify something to an unconnected player.

-Tim

Op 22-12-2017 om 15:58 schreef Daniel Villalon:
--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+u...@googlegroups.com.
To post to this group, send email to MOO-...@googlegroups.com.
Visit this group at https://groups.google.com/group/MOO-talk.
For more options, visit https://groups.google.com/d/optout.

Daniel Villalon

unread,
Dec 25, 2017, 12:57:00 PM12/25/17
to MOO Talk
;$player_db:load();
#37:insert (this == #39), line 35:  Range error
... called from #37:insert (this == #39), line 48
... called from #37:insert (this == #39), line 48
... called from #37:insert (this == #39), line 48
... called from #39:load, line 22
... called from #-1:Input to EVAL, line 3
... called from built-in function eval()
... called from #58:eval_cmd_string (this == #2), line 19
... called from #58:eval*-d (this == #2), line 13
(End of traceback)

And after this, the majoritty of the players don't appear in the database like players. Their objects exist, but the database doesn't recognize as like players, @whereis command don't found them.

Michael Munson

unread,
Dec 25, 2017, 7:21:39 PM12/25/17
to Daniel Villalon, MOO Talk
You may have to loop through players() and add them back into $player_db manually. Usually this is hooked into :set_name() so you can just loop through players(), set their name to a random string, then set it back to their real name/aliases.

--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+unsubscribe@googlegroups.com.

Michael Munson

unread,
Dec 25, 2017, 7:25:48 PM12/25/17
to Daniel Villalon, MOO Talk

This eval will do it:
;;for x in (players()) `$player_db:insert(x.name,x) ! ANY'; endfor


But I didn't test it so back up your database first.
On Mon, Dec 25, 2017 at 9:18 AM, Daniel Villalon <villa...@gmail.com> wrote:

Daniel Villalon

unread,
Dec 26, 2017, 9:54:19 AM12/26/17
to MOO Talk
This Works Perfectly! THanks so much, My database is working.


El viernes, 22 de diciembre de 2017, 16:03:12 (UTC+1), Daniel Villalon escribió:
Reply all
Reply to author
Forward
0 new messages