TinTin++ Mud Client The TinTin++ message board

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
TinTin++ Mud Client

Bug that causes Tintin++ to Crash

 
Post new topic   Reply to topic    The TinTin++ message board Forum Index -> Bug Reports
View previous topic :: View next topic  
Author Message
stormdragon2976



Joined: 19 Nov 2010
Posts: 73
Location: /dev/null

PostPosted: Fri Nov 19, 2010 2:15 pm    Post subject: Bug that causes Tintin++ to Crash Reply with quote

I wanted to write some triggers and things to make a CLI version of an audio game. I can connect to the server, but when I issue the login command it goes crazy and finally exits back to my terminal prompt. I am using tintin++ 2.00.4 If you can try this and connect successfully it will not look like any mud, it is text, but it is just game messages. It works with no problems in plain old telnet. So, to reproduce the but type:
#session {rsgames} {zanosoft.net} {3555}
This screen loads fine. The bug starts when you type:
login with an existing account
Here's the output I got. There is a lot of it:
#session {rsgames} {zanosoft.net} {3555}
#Trying to connect to zanosoft.net port 3555.

#SESSION 'rsgames' CONNECTED TO 'zanosoft.net' PORT '3555'
+OK zanosoft.net Zano Game Protocol Server version 1.0 Fri Nov 19 01:14:26 2010 EST ready.
+CVERSION 101

+MSG Please select an option.
+CHOICE Login with an existing account|Create a new account|Forgot Password|Quit
#alias {login} {login with an existing account}
#OK. {login} NOW ALIASES {login with an existing account} @ {5}.
#write rsgames.tin
#OK. COMMAND FILE WRITTEN.
login
*** stack smashing detected ***: tt++ terminated
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x50)[0x1f2390]
/lib/tls/i686/cmov/libc.so.6(+0xe233a)[0x1f233a]
tt++[0x804a5e6]
tt++[0x805177d]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
tt++[0x805179b]
tt++[0x808224a]
tt++[0x80828db]
======= Memory map: ========
00110000-00263000 r-xp 00000000 08:01 785808 /lib/tls/i686/cmov/libc-2.11.1.so
00263000-00264000 ---p 00153000 08:01 785808 /lib/tls/i686/cmov/libc-2.11.1.so
00264000-00266000 r--p 00153000 08:01 785808 /lib/tls/i686/cmov/libc-2.11.1.so
00266000-00267000 rw-p 00155000 08:01 785808 /lib/tls/i686/cmov/libc-2.11.1.so
00267000-0026a000 rw-p 00000000 00:00 0
0026a000-0026c000 r-xp 00000000 08:01 783487 /lib/libnss_mdns4_minimal.so.2
0026c000-0026d000 r--p 00001000 08:01 783487 /lib/libnss_mdns4_minimal.so.2
0026d000-0026e000 rw-p 00002000 08:01 783487 /lib/libnss_mdns4_minimal.so.2
00437000-0043b000 r-xp 00000000 08:01 785817 /lib/tls/i686/cmov/libnss_dns-2.11.1.so
0043b000-0043c000 r--p 00004000 08:01 785817 /lib/tls/i686/cmov/libnss_dns-2.11.1.so
0043c000-0043d000 rw-p 00005000 08:01 785817 /lib/tls/i686/cmov/libnss_dns-2.11.1.so
00505000-0051a000 r-xp 00000000 08:01 785840 /lib/tls/i686/cmov/libpthread-2.11.1.so
0051a000-0051b000 r--p 00014000 08:01 785840 /lib/tls/i686/cmov/libpthread-2.11.1.so
0051b000-0051c000 rw-p 00015000 08:01 785840 /lib/tls/i686/cmov/libpthread-2.11.1.so
0051c000-0051e000 rw-p 00000000 00:00 0
00757000-00759000 r-xp 00000000 08:01 785847 /lib/tls/i686/cmov/libutil-2.11.1.so
00759000-0075a000 r--p 00001000 08:01 785847 /lib/tls/i686/cmov/libutil-2.11.1.so
0075a000-0075b000 rw-p 00002000 08:01 785847 /lib/tls/i686/cmov/libutil-2.11.1.so
0077f000-00792000 r-xp 00000000 08:01 783564 /lib/libz.so.1.2.3.3
00792000-00793000 r--p 00012000 08:01 783564 /lib/libz.so.1.2.3.3
00793000-00794000 rw-p 00013000 08:01 783564 /lib/libz.so.1.2.3.3
007b7000-007ca000 r-xp 00000000 08:01 785814 /lib/tls/i686/cmov/libnsl-2.11.1.so
007ca000-007cb000 r--p 00012000 08:01 785814 /lib/tls/i686/cmov/libnsl-2.11.1.so
007cb000-007cc000 rw-p 00013000 08:01 785814 /lib/tls/i686/cmov/libnsl-2.11.1.so
007cc000-007ce000 rw-p 00000000 00:00 0
007dd000-0080c000 r-xp 00000000 08:01 783507 /lib/libpcre.so.3.12.1
0080c000-0080d000 r--p 0002e000 08:01 783507 /lib/libpcre.so.3.12.1
0080d000-0080e000 rw-p 0002f000 08:01 783507 /lib/libpcre.so.3.12.1
0086e000-0087e000 r-xp 00000000 08:01 785842 /lib/tls/i686/cmov/libresolv-2.11.1.so
0087e000-0087f000 r--p 00010000 08:01 785842 /lib/tls/i686/cmov/libresolv-2.11.1.so
0087f000-00880000 rw-p 00011000 08:01 785842 /lib/tls/i686/cmov/libresolv-2.11.1.so
00880000-00882000 rw-p 00000000 00:00 0
00898000-008a2000 r-xp 00000000 08:01 785818 /lib/tls/i686/cmov/libnss_files-2.11.1.so
008a2000-008a3000 r--p 00009000 08:01 785818 /lib/tls/i686/cmov/libnss_files-2.11.1.so
008a3000-008a4000 rw-p 0000a000 08:01 785818 /lib/tls/i686/cmov/libnss_files-2.11.1.so
00a43000-00a5e000 r-xp 00000000 08:01 785771 /lib/ld-2.11.1.so
00a5e000-00a5f000 r--p 0001a000 08:01 785771 /lib/ld-2.11.1.so
00a5f000-00a60000 rw-p 0001b000 08:01 785771 /lib/ld-2.11.1.so
00b36000-00b37000 r-xp 00000000 00:00 0 [vdso]
00e1b000-00e38000 r-xp 00000000 08:01 783450 /lib/libgcc_s.so.1
00e38000-00e39000 r--p 0001c000 08:01 783450 /lib/libgcc_s.so.1
00e39000-00e3a000 rw-p 0001d000 08:01 783450 /lib/libgcc_s.so.1
08048000-080a1000 r-xp 00000000 08:01 175056 /usr/local/bin/tt++
080a1000-080a2000 r--p 00058000 08:01 175056 /usr/local/bin/tt++
080a2000-080a5000 rw-p 00059000 08:01 175056 /usr/local/bin/tt++
080a5000-080de000 rw-p 00000000 00:00 0
08860000-0a75f000 rw-p 00000000 00:00 0 [heap]
b7701000-b7704000 rw-p 00000000 00:00 0
b7719000-b771c000 rw-p 00000000 00:00 0
bf964000-bf9aa000 rw-p 00000000 00:00 0 [stack]
DEBUG_STACK[000] = parse_input(rsgames,login)
DEBUG_STACK[001] = parse_input(rsgames,login with an existing account)
DEBUG_STACK[002] = parse_input(rsgames,login with an existing account with an existing account)
DEBUG_STACK[003] = parse_input(rsgames,login with an existing account with an existing account with an existing account)
DEBUG_STACK[004] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[005] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[006] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[007] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[008] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[009] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[010] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[011] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[012] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[013] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[014] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account)
DEBUG_STACK[015] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[016] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[017] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[018] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[019] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[020] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[021] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[022] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[023] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[024] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[025] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[026] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[027] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[028] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[029] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[030] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[031] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[032] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[033] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[034] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[035] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[036] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[037] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[038] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[039] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[040] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[041] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[042] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[043] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[044] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[045] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[046] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[047] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[048] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[049] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou
DEBUG_STACK[050] = parse_input(rsgames,login with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing account with an existing accou

Yes, it did finish without the final nt. Thanks for any help.
_________________
Storm
Follow me at https://social.stormdragon.tk
Back to top
View user's profile Send private message Visit poster's website AIM Address
Chicomecoatl



Joined: 08 Sep 2009
Posts: 73
Location: Kansas

PostPosted: Fri Nov 19, 2010 5:33 pm    Post subject: Reply with quote

Looks like for some reason it's trying to recursively use the alias.

So, essentially, you're calling an alias to call the same alias calling the alias, for infinity, causing an infinite loop -- which would cause the stack overflow, and tintin would crash because of said loop.

But, i may be wrong.

One direct fix i can see, would be to do

Code:

#alias {^login$} {login with an existing account)


Notice the ^ and $, telling the alias to anchor at the beginning and the end.

The fact that login is the first word in the alias' send function, recalls the alias, forming the recursive alias.
_________________
Chico
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
stormdragon2976



Joined: 19 Nov 2010
Posts: 73
Location: /dev/null

PostPosted: Fri Nov 19, 2010 11:36 pm    Post subject: Reply with quote

Chicomecoatl wrote:
Looks like for some reason it's trying to recursively use the alias.

So, essentially, you're calling an alias to call the same alias calling the alias, for infinity, causing an infinite loop -- which would cause the stack overflow, and tintin would crash because of said loop.

But, i may be wrong.

One direct fix i can see, would be to do

Code:

#alias {^login$} {login with an existing account)


Notice the ^ and $, telling the alias to anchor at the beginning and the end.

The fact that login is the first word in the alias' send function, recalls the alias, forming the recursive alias.

Awesome, thanks, that fixed it.
_________________
Storm
Follow me at https://social.stormdragon.tk
Back to top
View user's profile Send private message Visit poster's website AIM Address
Display posts from previous:   
Post new topic   Reply to topic    The TinTin++ message board Forum Index -> Bug Reports All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads
TinTin++ Homepage

Powered by phpBB © 2001, 2002 phpBB Group