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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Wed Jul 20, 2011 6:22 pm   

[3.34]BUG: CMUD Hang report
 
I had CMUD hang on me with a script that works fine on any given day. Since it's nearly impossible to find out why a client is hanging sometimes, I've employed the use of WhatIsHang (I mentioned this in my last post). So I'm hoping Zugg can decipher this in order to fix the hang in CMUD (and maybe it's universal). The report can be found here: WhatIsHang Report

[Edit]: Didn't include the script, but if it's necessary (meaning can't determine the problem without it) then I'll upload it.[/Edit]
Reply with quote
Zugg
MASTER


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

PostPosted: Wed Jul 20, 2011 10:35 pm   
 
Unfortunately not. Those raw stack addresses are only valid for a single compiled version and I've already rebuilt CMUD several times since v3.34 was released. So the addresses in v3.34 no longer match anything in the source code that Delphi can track.
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Thu Jul 21, 2011 1:40 am   
 
That's a shame. Would it be at all possible for you to keep a backup version of the current copy so this information could be useful? It might be useful to track down some of the problems others are using, especially if they download the program (it's free and is handy).

If not, any suggestions on what we can do with hangs that we can't reproduce successfully?
Reply with quote
Zugg
MASTER


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

PostPosted: Thu Jul 21, 2011 9:05 pm   
 
Not really. That's why I added the bug report/stack dump info to the crash errors themselves. External programs can't access that information. The raw address values are generally useless in Delphi. I'd say that even with the correct compiled version when I do a search in Delphi for a specific address it only finds something 10% of the time. Most of the time the address is somewhere in the Windows API anyway. Debugging this kind of stuff is extremely difficult. If it was easy, everybody would be doing it already.

Since the hang is somewhere related to your own script, all I can suggest is adding #DEBUG calls within your script so you can see where it is hanging. Yes, this will slow down your script and if it's timing related it can cause the problem to go away and be even harder to debug.

As I said, it's going to be very difficult. Hangs are the hardest to debug even when they can be reproduced reliably. It could be an infinite loop or it could be a thread locking issue. Thread lock problems are some of the hardest to track down in the best of situations.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion 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