Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Tiberian Technologies / Blackhand Studios » Tiberian Technologies Forum » Crash in tt.dll
Crash in tt.dll [message #472202] Tue, 24 July 2012 19:56 Go to next message
Xpert is currently offline  Xpert
Messages: 1588
Registered: December 2005
Location: New York City
Karma: 0
General (1 Star)
My first server side crash in over a month.
It points to tt.dll
  • Attachment: ax-crash.rar
    (Size: 669.86KB, Downloaded 152 times)


http://i32.photobucket.com/albums/d42/XpertMaverick/xpertyankee.jpg

Creator of NetGuard, an IRC network regulator.
Developer of the CloudyServ 0.982-X project.
Developer of the CloudyServ Ren-X bot.

Part time streamer - https://twitch.tv/gg_wonder
Re: Crash in tt.dll [message #472366 is a reply to message #472202] Mon, 30 July 2012 07:28 Go to previous messageGo to next message
StealthEye is currently offline  StealthEye
Messages: 2518
Registered: May 2006
Location: The Netherlands
Karma: 0
General (2 Stars)

This is very weird, it ended up calling a dtor for an object while still running its ctor. Unless you hook Set_Object_Dirty_Bits in some plugin or something, I can't see how this happened.

BlackIntel admin/founder/coder
Please visit http://www.blackintel.org/
Re: Crash in tt.dll [message #472370 is a reply to message #472366] Mon, 30 July 2012 08:01 Go to previous messageGo to next message
danpaul88 is currently offline  danpaul88
Messages: 5795
Registered: June 2004
Location: England
Karma: 0
General (5 Stars)
StealthEye wrote on Mon, 30 July 2012 15:28

This is very weird, it ended up calling a dtor for an object while still running its ctor. Unless you hook Set_Object_Dirty_Bits in some plugin or something, I can't see how this happened.


class Object
{
  Object::Object
  {
    delete this;
  }

  Object::~Object
  {
    printf ( "BOOM!");
  }
}


Rocked Over


http://steamsignature.com/card/1/76561197975867233.png

[Updated on: Mon, 30 July 2012 08:02]

Report message to a moderator

Re: Crash in tt.dll [message #472383 is a reply to message #472202] Mon, 30 July 2012 09:56 Go to previous messageGo to next message
StealthEye is currently offline  StealthEye
Messages: 2518
Registered: May 2006
Location: The Netherlands
Karma: 0
General (2 Stars)

Exactly, but then without the "delete this" call. Razz It seems to have jumped right from the ctor to the dtor for no apparent reason/cause.

BlackIntel admin/founder/coder
Please visit http://www.blackintel.org/

[Updated on: Mon, 30 July 2012 09:56]

Report message to a moderator

Re: Crash in tt.dll [message #472387 is a reply to message #472202] Mon, 30 July 2012 10:50 Go to previous messageGo to next message
danpaul88 is currently offline  danpaul88
Messages: 5795
Registered: June 2004
Location: England
Karma: 0
General (5 Stars)
Could be stack corruption possibly? Does the call stack higher up look sensible for constructing the object in question in the first place?

http://steamsignature.com/card/1/76561197975867233.png
Re: Crash in tt.dll [message #472392 is a reply to message #472366] Mon, 30 July 2012 14:57 Go to previous messageGo to next message
Xpert is currently offline  Xpert
Messages: 1588
Registered: December 2005
Location: New York City
Karma: 0
General (1 Star)
StealthEye wrote on Mon, 30 July 2012 10:28

This is very weird, it ended up calling a dtor for an object while still running its ctor. Unless you hook Set_Object_Dirty_Bits in some plugin or something, I can't see how this happened.



I never used that in any of my code. I wouldn't know how to use Set_Object_Dirty_Bits lol


http://i32.photobucket.com/albums/d42/XpertMaverick/xpertyankee.jpg

Creator of NetGuard, an IRC network regulator.
Developer of the CloudyServ 0.982-X project.
Developer of the CloudyServ Ren-X bot.

Part time streamer - https://twitch.tv/gg_wonder
Re: Crash in tt.dll [message #472462 is a reply to message #472202] Tue, 31 July 2012 07:52 Go to previous message
StealthEye is currently offline  StealthEye
Messages: 2518
Registered: May 2006
Location: The Netherlands
Karma: 0
General (2 Stars)

danpaul88, it looks sensible for constructing the object, not for destructing it. I can't think of why it would destroy the object, but it would be strange if the dtor appeared on the stack at that point coincidentally too. My guess is that somehow the vtable (or pointer to vtable) was messed up, and it called the dtor instead of Set_Object_Dirty_Bits. This is still quite unlikely though.

BlackIntel admin/founder/coder
Please visit http://www.blackintel.org/

[Updated on: Tue, 31 July 2012 07:52]

Report message to a moderator

Previous Topic: delete plz
Next Topic: Crashdumps with heap for Stealtheye
Goto Forum:
  


Current Time: Sat Dec 21 20:35:12 MST 2024

Total time taken to generate the page: 0.00897 seconds