What makes you think that?  I've never seen any evidence of that.

At 2006/05/29 01:41 PM, Nick wrote:
>--
>[ Picked text/plain from multipart/alternative ]
>I don't think the modding hl2:dm code is the exact same as valve's hl2:dm
>release code
>
>On 5/29/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
>wrote:
>>
>> I left my server on dm_steamlab overnight: no crash, and no Physical
>> Mayhem bug.  (I'm still reluctant to say it's gone for good after 1 1/2
>> years of spending so much of my modding time on this.)
>>
>> So then I reverted the fix and applied just the assert.  The instant I did
>> changelevel dm_steamlab, the assert hit.  This corresponds with previous
>> findings that dm_steamlab would always cause the Physical Mayhem bug.  The
>> assert involved a prop_physics and a prop_physics_multiplayer, which are
>> collisiongroups 1 and 17 respectively.
>>
>> So now question the is, given that dm_steamlab caused the bad code path
>> instantly, how was Valve ever able to play dm_steamlab WITHOUT hitting the
>> bug?  There would seem to be some other factor at work, that leaves me wary
>> that we haven't seen the last of this.
>>
>> -bk
>>
>> At 2006/05/28 11:51 PM, you wrote:
>> >The particular case Garry reported was with a prop set to
>> >COLLISION_GROUP_PUSHAWAY against another prop set to
>> >COLLISION_GROUP_DEBRIS.  The code in hl2mp gamerules returns different
>> >values for:
>> >ShouldCollide( COLLISION_GROUP_PUSHAWAY, COLLISION_GROUP_DEBRIS );
>> >And
>> >ShouldCollide( COLLISION_GROUP_DEBRIS, COLLISION_GROUP_PUSHAWAY );
>> >
>> >The code I posted fixes this.  The picture vs. the file cabinet in
>> >cs_office is such a case. Vphysics assumes this will not occur; if it
>> >does a bunch of unintended things can happen. (In this particular case
>> >it results in a dangling pointer but there are other possible effects
>> >depending on the callstack and cached collision state at the time of the
>> >bad data coming from the game DLL.  That's why it doesn't always crash
>> >or even show up as a problem.)
>> >
>> >Jay
>> >
>> >> -----Original Message-----
>> >> From: [EMAIL PROTECTED]
>> >> [mailto:[EMAIL PROTECTED] On Behalf Of
>> >> [EMAIL PROTECTED]
>> >> Sent: Sunday, May 28, 2006 7:29 PM
>> >> To: hlcoders@list.valvesoftware.com
>> >> Subject: RE: [hlcoders] Physical Mayhem in progress - no crash! (yet)
>> >>
>> >> Yeah part of my real job is engineering support so I
>> >> understand the importance of repro steps if engineering
>> >> hasn't seen an issue.  I'm a bit baffled though, given how
>> >> many people have reported it, that Valve hadn't seen it
>> >> regularly.  (Does Valve have a public HL2DM stress test
>> >> server?  If so, what's the IP?)
>> >>
>> >> I think you tried to answer my question, but perhaps I didn't
>> >> grasp the intracacies of the answer.  What scenario does the
>> >> CHL2MPRules::ShouldCollide change actually fix?  If it's as
>> >> simple as one prop hitting another, why doesn't it always break?
>> >>
>> >> Also, earlier when I reported the bouncing still occuring I
>> >> had only applied the fix server-side.  I've since applied it
>> >> client-side as well and for about 20 minutes and counting
>> >> I've not seen any physics issues.  Too early to call it dead,
>> >> but that's promising.
>> >>
>> >> -bk
>> >>
>> >> At 2006/05/28 06:34 PM, Jay Stelly wrote:
>> >> >Garry sent in a deterministic way to cause some bad physics behavior.
>> >> >Because of his repro case I was able to fix a bug with the code I
>> >> >posted below.  Personally, I have never been able to reproduce the
>> >> >behavior you've described.  I believe Adrian has seen the
>> >> behavior in
>> >> >HL2DM at some point, but noone at Valve has a set of steps for
>> >> >recreating the behavior as far as I know.  Also, I've looked at the
>> >> >minidumps you've posted and they don't help diagnose the problem.
>> >> >Garry's bug had the same characteristic - looking at the
>> >> state of the
>> >> >code after the bug had occurred was not helpful.  Being able to
>> >> >recreate the behavior in a controlled way is the shortest path to
>> >> >fixing the problem.  Sometimes bugs are easy and you can guess the
>> >> >cause based on the results, but often they are not.  In
>> >> those cases it
>> >> >is really desirable to go back through the steps that caused the bug
>> >> >and analyze what is happening in the code.  If you can't do
>> >> that then debugging is much more difficult.
>> >> >
>> >> >More info on what was happening here:
>> >> >In this case the problem is that the game DLL is not being
>> >> consistent
>> >> >in how it reports collision rules to vphysics.
>> >> ShouldCollide(a,b) is
>> >> >supposed to return the same value no matter how many times
>> >> it is called
>> >> >until you call CollisionRulesChanged() for a or b.  Also
>> >> >ShouldCollide(a,b) must always return the same result as
>> >> >ShouldCollide(b,a).  Vphysics uses this procedure call instead of
>> >> >storing some kind of matrix of possible collisions.  If this
>> >> function
>> >> >does not fulfill it's part of the contract it can cause vphysics to
>> >> >fail (including crashing).
>> >> >
>> >> >So given that the problem has similar symptoms to Garry's, it makes
>> >> >sense for you to instrument your code to test for cases of
>> >> the same bug.
>> >> >The simplest way to do that would be to wrap ShouldCollide() in
>> >> >src/dlls/physics.cpp:
>> >> >
>> >> >int CCollisionEvent::ShouldCollide( IPhysicsObject *pObj0,
>> >> >IPhysicsObject *pObj1, void *pGameData0, void *pGameData1 ) {
>> >> >        int x0 = ShouldCollide_Default(pObj0, pObj1, pGameData0,
>> >> >pGameData1);
>> >> >        int x1 = ShouldCollide_Default(pObj1, pObj0, pGameData1,
>> >> >pGameData0);
>> >> >        if ( x0 != x1 )
>> >> >        {
>> >> >                Assert(x0==x1); // break here and step
>> >> through the code
>> >> >to see what's wrong
>> >> >                ShouldCollide_Default(pObj0, pObj1, pGameData0,
>> >> >pGameData1);
>> >> >                ShouldCollide_Default(pObj1, pObj0, pGameData1,
>> >> >pGameData0);
>> >> >        }
>> >> >        return x0;
>> >> >}
>> >> >
>> >> >int CCollisionEvent::ShouldCollide_Default( IPhysicsObject *pObj0,
>> >> >IPhysicsObject *pObj1, void *pGameData0, void *pGameData1 ) // ....
>> >> >
>> >> >If you hit that assert, you know you've got the same bug and
>> >> you should
>> >> >be able to step through the code and fix it trivially.  I'll
>> >> try that
>> >> >as well with dm_steamlab in HL2DM since you are still reporting some
>> >> >kind of problem.  If you do hit the assert but don't know how to fix
>> >> >it, send me the steps to recreate the assert and I'm sure
>> >> I'll be able
>> >> >to fix it if I can make the assert happen.
>> >> >
>> >> >Jay
>> >> >
>> >> >> -----Original Message-----
>> >> >> From: [EMAIL PROTECTED]
>> >> >> [mailto:[EMAIL PROTECTED] On Behalf Of
>> >> >> [EMAIL PROTECTED]
>> >> >> Sent: Sunday, May 28, 2006 2:18 PM
>> >> >> To: hlcoders@list.valvesoftware.com
>> >> >> Subject: RE: [hlcoders] Physical Mayhem in progress - no
>> >> crash! (yet)
>> >> >>
>> >> >> This is certainly a promising step - thanks all.
>> >> >>
>> >> >> However, can you explain what exactly this fixes?  Is this
>> >> supposed
>> >> >> to fix the classic Physical Mayhem Bug, or does this fix
>> >> something to
>> >> >> do with scripts/propdata_cs.txt, which is presumably irrelevant to
>> >> >> the generic HL2DM Physical Mayhem Bug?  Also does "I was able to
>> >> >> repro the bug with those changes" mean Valve has -only-
>> >> repro'd the
>> >> >> bug with those changes?  Ie, has Valve never repro'd the
>> >> bug in plain
>> >> >> HL2DM?
>> >> >>
>> >> >> I applied the patch and loaded up dm_steamlab.  Within about
>> >> >> 5 minutes, Physics bugs started occurring, but
>> >> behaviorally it's not
>> >> >> the same as the classic Physical Mayhem Bug.  Now items do
>> >> not fall
>> >> >> infinitely out of the world, and cpu usage is not 100% as
>> >> it normally
>> >> >> would be during the Physical Mayhem Bug.  However the warping and
>> >> >> repeat-bouncing is still occurring.
>> >> >>
>> >> >> This seems to be an improvement at least, but it's not a
>> >> whole fix.
>> >> >> It's still very difficult to play while this is occurring.
>> >>  I'm going
>> >> >> to leave it running on dm_steamlab to see if it crashes or if the
>> >> >> crasher aspect has gone away.
>> >> >>
>> >> >> Has anyone else tried Jay's patch?
>> >> >>
>> >> >> -bk
>> >> >>
>> >> >> At 2006/05/24 08:51 PM, Jay Stelly wrote:
>> >> >> >Ok, I was able to repro the bug with those changes.
>> >> Here's the fix:
>> >> >> >
>> >> >> >// add these lines to hl2mp_gamerules.cpp:
>> >> >> >
>> >> >> >bool CHL2MPRules::ShouldCollide( int collisionGroup0, int
>> >> >> >collisionGroup1 )
>> >> >> >{
>> >> >> >        if ( collisionGroup0 > collisionGroup1 )
>> >> >> >        {
>> >> >> >                // swap so that lowest is always first
>> >> >> >                swap(collisionGroup0, collisionGroup1);
>> >> >> >        }
>> >> >> >
>> >> >> >
>> >> >> >Jay
>> >> >> >
>> >> >> >
>> >> >> >> -----Original Message-----
>> >> >> >> From: [EMAIL PROTECTED]
>> >> >> >> [mailto:[EMAIL PROTECTED] On
>> >> Behalf Of Garry
>> >> >> >> Newman
>> >> >> >> Sent: Wednesday, May 24, 2006 3:14 AM
>> >> >> >> To: hlcoders@list.valvesoftware.com
>> >> >> >> Subject: Re: [hlcoders] Physical Mayhem in progress - no
>> >> >> crash! (yet)
>> >> >> >>
>> >> >> >> Ok done it. It happens.
>> >> >> >>
>> >> >> >> I found the exact cause too. When you shoot these pictures
>> >> >> they fall
>> >> >> >> on the other physics objects..
>> >> >> >>
>> >> >> >> http://www.garry.tv/img/cs_office_phys.jpg
>> >> >> >>
>> >> >> >> And then the physical mayhem happens. Which is weird
>> >> >> because I always
>> >> >> >> thought those pictures were clientside so they
>> >> shouldn't even be
>> >> >> >> touching the other stuff..
>> >> >> >>
>> >> >> >> Here's the test mod
>> >> >> >>
>> >> >> >> http://www.garry.tv/img/phys_testmod.zip
>> >> >> >>
>> >> >> >> And here's the code changes (based on hl2mp mod)
>> >> >> >>
>> >> >> >> GameInterface.cpp line 493 after TheNavMesh = ...
>> >> >> >>
>> >> >> >> filesystem->MountSteamContent( 240 ); AddSearchPath( "cstrike",
>> >> >> >> filesystem->"GAME" );
>> >> >> >>
>> >> >> >> cdll_client_int.cpp line 523 after ClientWorldFactoryInit();
>> >> >> >>
>> >> >> >> filesystem->MountSteamContent( 240 ); AddSearchPath( "cstrike",
>> >> >> >> filesystem->"GAME" );
>> >> >> >>
>> >> >> >> props_shared.cpp line195
>> >> >> >>
>> >> >> >> if ( !m_pKVPropData->LoadFromFile( filesystem,
>> >> >> >> "scripts/propdata_cs.txt" ) )
>> >> >> >>
>> >> >> >> I changed the spawnpoints to use
>> >> >> info_player_counterterrorist too but
>> >> >> >> I doubt that affected it.
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> On 5/24/06, Garry Newman <[EMAIL PROTECTED]> wrote:
>> >> >> >> > Yeah kinda. I'm based off HL2, and mounting CS:S using the
>> >> >> >> > filesystem->mount and addsearchpath (to tail) commands.
>> >> >> >> >
>> >> >> >> > I'll try it with a new mod to make sure it isn't something
>> >> >> >> that only
>> >> >> >> > happens with GMod..
>> >> >> >> >
>> >> >> >> > On 5/23/06, Adrian Finol <[EMAIL PROTECTED]> wrote:
>> >> >> >> > > I just tried to reproduce this by following these
>> >> steps and I
>> >> >> >> > > couldn't get it to happen.
>> >> >> >> > >
>> >> >> >> > > This is what I did so let me know if I missed something:
>> >> >> >> > >
>> >> >> >> > > I changed HL2DM's GameInfo.txt to also mount the cstrike
>> >> >> >> folder so I
>> >> >> >> > > could load cs_office and all its resources. I loaded
>> >> >> >> HL2DM on msdev
>> >> >> >> > > and built that, then I added the propdata folder
>> >> and renamed
>> >> >> >> > > Cstrike's propdata.txt to cs.txt and placed it there.
>> >> >> >> > >
>> >> >> >> > > Loaded cs_office and ran around shooting rockets
>> >> >> trying to get as
>> >> >> >> > > many physics objects in motion as I could. After 5
>> >> >> >> minutes running
>> >> >> >> > > around everything was behaving fine.
>> >> >> >> > >
>> >> >> >> > > Did I miss anything?
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > > -----Original Message-----
>> >> >> >> > > From: [EMAIL PROTECTED]
>> >> >> >> > > [mailto:[EMAIL PROTECTED] On
>> >> >> Behalf Of Garry
>> >> >> >> > > Newman
>> >> >> >> > > Sent: Tuesday, May 23, 2006 8:21 AM
>> >> >> >> > > To: hlcoders@list.valvesoftware.com
>> >> >> >> > > Subject: Re: [hlcoders] Physical Mayhem in progress
>> >> - no crash!
>> >> >> >> > > (yet)
>> >> >> >> > >
>> >> >> >> > > Hey exactly a month later!
>> >> >> >> > >
>> >> >> >> > > Here's what I'm doing to cause the physical mayhem.
>> >> >> >> > >
>> >> >> >> > > In my mod/scripts folder I made a folder called propdata.
>> >> >> >> I copied
>> >> >> >> > > CS:S's propdata.txt to this folder and renamed in cs.txt.
>> >> >> >> > >
>> >> >> >> > > In CPropData::ParsePropDataFile I changed the
>> >> >> loadfromfile line
>> >> >> >> > > to
>> >> >> >> > >
>> >> >> >> > >     if ( !m_pKVPropData->LoadFromFile( filesystem,
>> >> >> >> > > "scripts/propdata/cs.txt" ) )
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > > So I start my mod and go to cs_office. It's fine
>> >> for about 20
>> >> >> >> > > seconds of shooting props then they all start
>> >> bouncing around.
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > > I find that this has prevented it.. (props.cpp:4747)
>> >> >> >> > >
>> >> >> >> > >     //LINK_ENTITY_TO_CLASS( prop_physics_multiplayer,
>> >> >> >> > > CPhysicsPropMultiplayer );
>> >> >> >> > >
>> >> >> >> > >     LINK_ENTITY_TO_CLASS( prop_physics_multiplayer,
>> >> >> >> CPhysicsProp );
>> >> >> >> > >
>> >> >> >> > > Obviously it's going to change all
>> >> >> prop_physics_multiplayer into
>> >> >> >> > > prop_physics.. so it might not be ideal for your mod. I'm
>> >> >> >> guessing
>> >> >> >> > > that my problem is different from yours though,
>> >> >> somehow.. even if
>> >> >> >> > > the symptoms are the same.
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > > On 4/23/06, [EMAIL PROTECTED]
>> >> >> >> > > <[EMAIL PROTECTED]> wrote:
>> >> >> >> > > > The mod players were getting restless so I
>> >> couldn't wait any
>> >> >> >> > > > longer
>> >> >> >> > > for a response from Valve so I had to shut it down.
>> >> >> >> Unfortunately
>> >> >> >> > > there's no documentation on how most of that stuff is
>> >> >> supposed to
>> >> >> >> > > work, and there are frightfully few asserts in the
>> >> >> SDK.  I guess
>> >> >> >> > > I'll have to do a lot of research to compare a working
>> >> >> >> vphysics.dll
>> >> >> >> > > to a broken vphysics.dll in order to pin down the
>> >> >> exact problem.
>> >> >> >> > > >
>> >> >> >> > > > At 2006/04/20 08:03 PM, Aaron Schiff wrote:
>> >> >> >> > > > >--
>> >> >> >> > > > >[ Picked text/plain from multipart/alternative ]
>> >> >> >> > > > >USE_OBB_COLLISION_BOUNDS just says to search within
>> >> >> >> the bounding
>> >> >> >> > > > >box constructed around a physical model to detect
>> >> >> >> other objects.
>> >> >> >> > > > >It's not the matter you should be worried about.
>> >> >> >> > > > >--
>> >> >> >> > > > >
>> >> >> >> > > > >_______________________________________________
>> >> >> >> > > > >To unsubscribe, edit your list preferences, or view the
>> >> >> >> > > > >list
>> >> >> >> > > archives, please visit:
>> >> >> >> > > > >http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >> >> > > >
>> >> >> >> > > > _______________________________________________
>> >> >> >> > > > To unsubscribe, edit your list preferences, or
>> >> view the list
>> >> >> >> > > > archives,
>> >> >> >> > > please visit:
>> >> >> >> > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >> >> > > >
>> >> >> >> > > >
>> >> >> >> > >
>> >> >> >> > > _______________________________________________
>> >> >> >> > > To unsubscribe, edit your list preferences, or view
>> >> the list
>> >> >> >> > > archives, please visit:
>> >> >> >> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > > _______________________________________________
>> >> >> >> > > To unsubscribe, edit your list preferences, or view the
>> >> >> >> list archives, please visit:
>> >> >> >> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> >
>> >> >> >>
>> >> >> >> _______________________________________________
>> >> >> >> To unsubscribe, edit your list preferences, or view the list
>> >> >> >> archives, please visit:
>> >> >> >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >_______________________________________________
>> >> >> >To unsubscribe, edit your list preferences, or view the list
>> >> >> archives, please visit:
>> >> >> >http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >>
>> >> >> _______________________________________________
>> >> >> To unsubscribe, edit your list preferences, or view the list
>> >> >> archives, please visit:
>> >> >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >> >>
>> >> >>
>> >> >
>> >> >_______________________________________________
>> >> >To unsubscribe, edit your list preferences, or view the list
>> >> archives, please visit:
>> >> >http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >>
>> >> _______________________________________________
>> >> To unsubscribe, edit your list preferences, or view the list
>> >> archives, please visit:
>> >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >>
>> >>
>> >
>> >_______________________________________________
>> >To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> >http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>--
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list archives, please 
>visit:
>http://list.valvesoftware.com/mailman/listinfo/hlcoders

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to