Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
cosine_omerta
Wanderer


Joined: 14 Oct 2007
Posts: 50

PostPosted: Sun Dec 06, 2009 5:38 am   

[3.12] Hyperlinks causing cMud to freeze
 
I've searched for a similar problem but I don't see it. So if I've missed it sorry for the duplicate post.
Anytime I read a link thats on a mud message board, or if I say, or if someone else says a link, cMud immediately freezes, and I hafta kill it and start it again. Anybody else having this problem?
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Sun Dec 06, 2009 6:07 am   
 
Definitely, and I thought it was just me at first, but I know of at least two others who are having this problem.

Charneus
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Sun Dec 06, 2009 6:08 am   
 
is the link formed correctly? CMud has a package that linkifies urls for you. It might cause problems if your mud allows for mxp tags to be embedded in its messages that does the same thing.

Beyond that, say hello to my li'l friend--corruption.
_________________
EDIT: I didn't like my old signature
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Sun Dec 06, 2009 6:26 am   
 
That's what we've all been using. I know of three people, at least, on Aardwolf who have had to disable the clickable url package, and this is just when someone posts a link on a channel or is in their finger information.

Never was a problem before until just recently. And of course, not much we can do with a debug test if CMUD locks up on us. Guess it could be tested in a blank session, no connection, and just spamming a link or so.

Charneus
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon Dec 07, 2009 9:23 pm   
 
You need to post the exact URL link that is causing the hang for me to help with this.
Reply with quote
Troublemag
Wanderer


Joined: 14 Jul 2004
Posts: 83

PostPosted: Wed Dec 09, 2009 2:56 am   
 
Add me to the list it's happening on. And, Zugg, it's difficult to get the link since CMUD is freezing before displaying it. I ended up disabling the Clickable URL package entirely and haven't had a freeze since.

I had to disable the package on the child windows too since I #capture into them and just disabling it on the main window didn't fix the problem.

For me, it started when I upgraded to 3.12 Pro.
_________________
CMUDPro 3.22
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Dec 09, 2009 5:27 pm   
 
Well, when you disable the Clickable URL package, then you'll see the link as plain text, right? So copy and paste the URL into this forum. As I said, I can't help with this at all until somebody posts a URL that causes the hang.
Reply with quote
Troublemag
Wanderer


Joined: 14 Jul 2004
Posts: 83

PostPosted: Thu Dec 10, 2009 2:49 am   
 
http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H

Posting that link froze my CMUD
_________________
CMUDPro 3.22
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Dec 10, 2009 5:50 pm   
 
I wasn't able to reproduce this. Here is what I did to test it:

1) Run CMUD, close the Sessions window
2) Type:
#LOAD "Clickable URLs"
to load the Clickable URLs package. You should see a message that the package was loaded.
3) Now type:
#SHOW "test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link"

I didn't get any hang, and I was able to click on the URL without a problem. So it sounds like the MUD might be sending more than just that link in your case. I need you to open your session and then open the Script Debugger window and make sure the Raw Input/Output message is turned on in the Script Debugger menu. Disable or unload the Clickable URL package so it doesn't hang, then do whatever on your MUD to cause the bad URL to be displayed. Then Copy/Paste the results from the Script Debugger window into [CODE] tags on this forum so I can see the *exact* data being sent from the MUD.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Thu Dec 10, 2009 7:10 pm   
 
Code:

c  Aardwolf |  [1] Aardwolf Comline : start :
i  Aardwolf >gt #SHOW "test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link" <CR><LF>
d  Aardwolf |  [1] Aardwolf Comline : stopped
i  Aardwolf *{chan ch=gtell}<ESC>[1;33m(<ESC>[1;37mGroup<ESC>[1;33m) <ESC>[1;33mCharneus: '#SHOW "test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link" '<ESC>[0;37m<LF><CR><LF><CR>
>Note read!<LF><CR>
<ESC>[0;37m<LF><CR>
{stats}200/147,114/69,121/60,199/139,87/63,213/115,100,100,100,194,323,You are Standing.,9999,3802/3802,2722/2722,3966/3966,875690,1874,3,-2500,931,128,5<LF><CR>
a  Aardwolf |{chan ch=gtell}(Group) Charneus: '#SHOW "test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link" '


If you log into Aardwolf, you might be able to reproduce this error, Zugg. This is what came across when I tried it (and yes, it caused CMUD to hang for me, as well. Didn't do it if I did #SHOW, but when speaking on a channel, it hung up on me).

Charneus
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4672
Location: Pensacola, FL, USA

PostPosted: Thu Dec 10, 2009 8:58 pm   
 
Perhaps it is the double processing, once in the main window and again when it gets captured to another window?
I have had this happen with random youtube links on New Worlds as well.
_________________
Discord: Shalimarwildcat
Reply with quote
Troublemag
Wanderer


Joined: 14 Jul 2004
Posts: 83

PostPosted: Thu Dec 10, 2009 9:35 pm   
 
Code:
0.0011 | a    Dorrin |>[Joiyedrana] Dorrin: '#SHOW "test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link"'
0.0007 | f    Dorrin |  Pattern: \b(((https?|ftp|telnet)://[\w\d:#@%/;$()~_?\+\-=&]+|www|f... : (%1="http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H", %2="http://www", %3="http", %4=".com/geektoys/japanfan/c50f/?cpg=119H")
0.0006 | c    Dorrin |  exec : Pattern "\b(((https?|ftp|telnet)://[\w\d:#@%/;$()~_?\+\-=...
0.0043 | f    Dorrin |  Pattern: ~[(%w)~]*: '*'$ : (%1="Joiyedrana")
0.0029 | c    Dorrin |  exec : Pattern "~[(%w)~]*: '*'$" : #cap chat;#gag 2
0.0011 | a      chat |>[Joiyedrana] Dorrin: '#SHOW "test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link"'
0.0018 | f      chat |  Pattern: \b(((https?|ftp|telnet)://[\w\d:#@%/;$()~_?\+\-=&]+|www|f... : (%1="http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H", %2="http://www", %3="http", %4=".com/geektoys/japanfan/c50f/?cpg=119H")
0.0020 | c      chat |  exec : Pattern "\b(((https?|ftp|telnet)://[\w\d:#@%/;$()~_?\+\-=...
0.0065 | g    Dorrin |-> Line 49998 gagged
0.0010 | a    Dorrin |
0.0015 | g    Dorrin |-> Line 49998 gagged


Code:
0.0013 | c    Dorrin |  [1] Dorrin Comline : start :
0.0021 | a    Dorrin |>test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link
0.0042 | f    Dorrin |    Pattern: \b(((https?|ftp|telnet)://[\w\d:#@%/;$()~_?\+\-=&]+|www|f... : (%1="http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H", %2="http://www", %3="http", %4=".com/geektoys/japanfan/c50f/?cpg=119H")
0.0046 | c    Dorrin |    exec : Pattern "\b(((https?|ftp|telnet)://[\w\d:#@%/;$()~_?\+\-=...
0.0127 | d    Dorrin |  [1] Dorrin Comline : stopped


The first is posting on a channel, the 2nd using the #show command. Both were recorded using 2.37, which doesn't have issues, but the raw data should be the same as on 3.12. 3.12 is the only version I've had this problem with. I will retest tonight using 3.12 when I get home and have access to it again.
_________________
CMUDPro 3.22
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Dec 11, 2009 12:29 am   
 
Yes, I need to see the output from the 3.12 version, with the Clickable URL package disabled. Also, both examples seem to be showing the results of the #SHOW command. The data sent from the MUD shouldn't have the "test" or "link" words in it.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Fri Dec 11, 2009 1:15 am   
 
Zugg: My example only shows the whole thing because I was too lazy to edit it out at the time. It still caused CMUD to hang, though. However, here is the output without the #SHOW test ... link in it:

Code:
0.0016 |
0.3746 | ---
0.0013 | c  Aardwolf |  [1] Aardwolf Comline : start :
0.0521 | i  Aardwolf >gt http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H<CR><LF>
0.0012 | d  Aardwolf |  [1] Aardwolf Comline : stopped
0.1221 | i  Aardwolf *{chan ch=gtell}<ESC>[1;33m(<ESC>[1;37mGroup<ESC>[1;33m) <ESC>[1;33mCharneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'<ESC>[0;37m<LF><CR><LF><CR>
0.0000 | >Note read!<LF><CR>
0.0000 | <ESC>[0;37m<LF><CR>
0.0000 | {stats}201/148,114/69,121/60,198/139,88/64,212/115,77,51,100,202,331,You are Standing.,9999,3082/3959,1454/2838,4109/4109,933844,2004,3,-2494,464,133,5<LF><CR>
0.0034 | a  Aardwolf |{chan ch=gtell}(Group) Charneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'
0.0012 | f  Aardwolf |  Pattern: ^(~{chan ch=(%w)~})(*) : (%1="{chan ch=gtell}", %2="gtell", %3="(Group) Charneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'")
0.0012 | c  Aardwolf |  exec : Pattern "^(~{chan ch=(%w)~})(*)" : #CALL %pref( "echomess...
0.0013 | a      Chat |(Group) Charneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'


Hope that helps. And yeah, I do capture it to a child window, if that makes any difference.

Charneus
Reply with quote
Troublemag
Wanderer


Joined: 14 Jul 2004
Posts: 83

PostPosted: Fri Dec 11, 2009 2:34 am   
 
Code:
0.0081 |   tlstest |  [6] tlstest Comline : start :
0.0053 | a   tlstest |>test http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link
0.0102 | d   tlstest |  [6] tlstest Comline : stopped
10.645 | c    Dorrin |  exec : markdown
4.5505 | ---
0.0097 | c   tlstest |  [6] tlstest Comline : start :
0.0057 | a   tlstest |mt http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link
0.0082 | i   tlstest >mt http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link<CR><LF>
0.0037 | d   tlstest |  [6] tlstest Comline : stopped
0.2899 | i   tlstest <[Joiyedrana] Dorrin: '<ESC>[0m<ESC>[1m<ESC>[34mhttp://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link<ESC>[0m<ESC>[37m'<LF><CR><CR><LF>
0.0002 | <ESC>[0m<ESC>[32m7194/<ESC>[0m<ESC>[1m<ESC>[32m7194 <ESC>[0m<ESC>[36m14022/<ESC>[0m<ESC>[1m<ESC>[36m14298 <ESC>[0m<ESC>[33m5433/<ESC>[0m<ESC>[1m<ESC>[33m5433 <ESC>[0m<ESC>[1m<ESC>[31m1963 108qp <ESC>[0m<ESC>[1m<ESC>[33m13209<ESC>[0m<ESC>[37mg (<ESC>[0m<ESC>[1m<ESC>[37mO<ESC>[0m<ESC>[37m)(<ESC>[0m<ESC>[36ms<ESC>[0m<ESC>[37m)<CR><LF>
0.0001 | >
0.0160 | a   tlstest |[Joiyedrana] Dorrin: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H link'


That's in an empty session with the Clickable URLs package disabled but while connected to the game.
_________________
CMUDPro 3.22
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Fri Dec 11, 2009 6:18 am   
 
Can someone that has had a problem with this test changing the pattern of the link #SUB trigger to this:
Code:
\b((?:https?|ftp|telnet)://[a-z0-9.-]{3,63}(?:/\S*)?(?=\b)(?<!\.))

_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Fri Dec 11, 2009 8:05 am   
 
Vijilante wrote:
Can someone that has had a problem with this test changing the pattern of the link #SUB trigger to this:
Code:
\b((?:https?|ftp|telnet)://[a-z0-9.-]{3,63}(?:/\S*)?(?=\b)(?<!\.))


No dice. Still hangs.

Charneus
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Fri Dec 11, 2009 8:17 am   
 
So to try to help things along, I ran the #DEBUGFILE with the Clickable URLs enabled to see what I could come up with. Did #DEBUGFILE urls.txt traceurls.txt.

From urls.txt:
Code:
ÿúfeÿð{chan ch=gtell}(Group) Charneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'


>Note read!



{stats}55/30,55/30,55/30,65/35,55/30,65/35,100,100,100,178,151,You are Standing.,9999,867/867,722/722,1278/1278,1131361,1118,3,2500,1915,20,5



From traceurls.txt:
Code:
in* (    7) 12/11/09 02:13:00:302 : <IAC><SB><102>e<1><IAC><SE>
out (   62) 12/11/09 02:13:09:023 : gt http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H<CR><LF>
in* (  296) 12/11/09 02:13:09:210 : {chan ch=gtell}<ESC>[1;33m(<ESC>[1;37mGroup<ESC>[1;33m) <ESC>[1;33mCharneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'<ESC>[0;37m<LF><CR><LF><CR>
>Note read!<LF><CR>
<ESC>[0;37m<LF><CR>
{stats}55/30,55/30,55/30,65/35,55/30,65/35,100,100,100,178,151,You are Standing.,9999,867/867,722/722,1278/1278,1131361,1118,3,2500,1915,20,5<LF><CR>


Hopefully this helps.

Charneus
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Dec 11, 2009 6:28 pm   
 
This is really odd. I can't get this to fail at all in a blank session in CMUD 3.12. This time, I tried:

1) Run CMUD, close Session window
2) Type:
#LOAD "Clickable URLs"
3) Type:
#show {%e[1;33m(%e[1;37mGroup%e[1;33m) %e[1;33mCharneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'%e[0;37m}

Worked fine here. Maybe this is dependent upon the version of Windows being used? I tested on Vista. I'll try to do a WinXP test later today.

Please try the exact procedure above to see if the problem only occurs when online or not. You also might try deleting your "Clickable URLs.pkg" file and then reinstall a fresh copy of CMUD to replace that package just in case your package is corrupted somehow. You can also try deleting any PCRE*.DLL file in your CMUD Data Files and CMUD Application folder and reinstall to replace that DLL in case it is somehow corrupted.

As Vijilante was testing, usually a hang in a trigger like this is caused by some problem with the PCRE DLL, but it's very strange that I cannot reproduce it at all.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Fri Dec 11, 2009 7:10 pm   
 
Well, I've done everything I could think of on my end to see what I could do to reproduce it myself. I created a new connection, loaded clickable urls, loaded my channel capture script, tried going 'gt http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H', and it worked perfectly. No hangups, nothing.

Apparently, my settings are causing some sort of conflict with this, though I don't know what it could be. And if it is the case of it being my package, that probably spells package corruption. However, with this many people having trouble with it too, it might be something to do with CMUD on a root level. If it was just one or two people, maybe that'd be a different story. But as you see, I'm not the only one having this trouble.

I'll try to do some more testing and see what I can find out, at least. I have over 600 triggers and 273 class folders, so it'll be a while, narrowing it down to one culprit.

Charneus
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Fri Dec 11, 2009 7:33 pm   
 
shalimar wrote:
Perhaps it is the double processing, once in the main window and again when it gets captured to another window?
I have had this happen with random youtube links on New Worlds as well.


I think shalimar hit it right on the nose. In my testing, moving ALL my settings over one-by-one to an untitled session and using the #show from Zugg, CMUD didn't hang. I looked at the Chat child window, saw that it had Clickable URLs unticked, so it wasn't utilizing the package. However, because it was a direct capture from the main window, and the capture's priority was lower than that of the clickable urls sub, the child window displayed it as MXP, properly.

So, when enabling the clickable urls for the child window, it may have been trying to reprocess <a href=link>link</a> again, turning it into <a href=<a href=link>link</a>link</a> or something to that effect.

Don't know why the child window had clickable urls selected - I never chose it to (as far as I can recall).

Charneus
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Dec 11, 2009 11:11 pm   
 
Try to give me the exact #capture script that reproduces the hang in a blank session.

All windows will have Clickable URLs enabled by default since that is in your Default Packages settings.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Fri Dec 11, 2009 11:55 pm   
 
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
  <trigger priority="10" copy="yes">
    <pattern>^(~{chan ch=(%w)~})(*)</pattern>
    <value>#CALL %pref( "echomessage", 0)
#PSUB {} %x1
#IF (!%ismember( %2, @channelsoff)) {#CAP Chat}
#IF (%2!="auction") {#GAGSPACE}
//#FILE 1 %concat( "Aardwolf\Logs\", %if( %2="answer" or %2="question", answer, %2), ".txt")
//#WRITE 1 %concat( "[", %time( "mmm dd yy hh:mm:ss"), "] ", %3)
//#CLOSE 1
#CALL %pref( "echomessage", 1)
//#IF %window("AardBuilders") {#CAP AardBuilders %3}</value>
  </trigger>
</cmud>


The MUD input is actually:

[chan ch=gtell}(Group) Charneus: 'Place link here.'

Ever since I unchecked 'Clickable URLs' in the chat window, I haven't had an issue with it hanging on URLs.

Charneus


Last edited by charneus on Sat Dec 12, 2009 12:16 am; edited 1 time in total
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Sat Dec 12, 2009 12:16 am   
 
Ok. Definitely repoduced in untitled session. Here are the steps.

1. Open CMUD
2. Escape to Untitled Session.
3. Type #LOAD "Clickable URLS" on command line.
4. Type #WIN Chat on the command line.
5. Open up settings editor.
6. Click on 'Chat' window, enable 'Clickable URLs' in the list of packages.
7. Paste the following code in the editor:
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
  <trigger priority="10" copy="yes">
    <pattern>^(~{chan ch=(%w)~})(*)</pattern>
    <value>#CALL %pref( "echomessage", 0)
#PSUB {} %x1
#IF (!%ismember( %2, @channelsoff)) {#CAP Chat}
#IF (%2!="auction") {#GAGSPACE}
//#FILE 1 %concat( "Aardwolf\Logs\", %if( %2="answer" or %2="question", answer, %2), ".txt")
//#WRITE 1 %concat( "[", %time( "mmm dd yy hh:mm:ss"), "] ", %3)
//#CLOSE 1
#CALL %pref( "echomessage", 1)
//#IF %window("AardBuilders") {#CAP AardBuilders %3}</value>
  </trigger>
</cmud>

8. Close out settings editor.
9. On the command line, type:
#show {{chan ch=gtell}%e[1;33m(%e[1;37mGroup%e[1;33m) %e[1;33mCharneus: 'http://www.thinkgeek.com/geektoys/japanfan/c50f/?cpg=119H'%e[0;37m}

CMUD will indefinitely hang at this point.

Charneus
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Sat Dec 12, 2009 5:25 pm   
 
Finally! I was able to reproduce the hang.

As you guessed, the problem is with the #capture and having the clickable urls enabled in the Chat capture window.

In fact, it has nothing to do with PCRE or the pattern match. The problem seems to be the #SUB command for the actual Clickable URL trigger. What is happening is that the Clickable URL trigger is firing in the main window, and converting the web link to an MXP A tag link. Then the #CAPTURE command sends the MXP link to the Chat window. Then the Clickable URL trigger fires in the Chat window and tries to add *another* MXP A link.

If you turn off the "Capture MXP" option for the Chat window, then it doesn't hang, because then it's not transferring the first MXP link. Or, if you change the Clickable URL trigger to not #SUB with the MXP A link then it also works. So it's just when an existing link is captured to a window and then #SUB tries to add another link around it.

In any case, now that I have a good way to reproduce this, I have added it to the bug list. Thanks for getting me the script and being patient with me as I tried to reproduce this.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
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

© 2009 Zugg Software. Hosted by Wolfpaw.net