Menu

#13 Random C/I immediately after stashing an item

RC1-RC25
open
kingsob
8
2008-06-13
2008-05-31
Kelani Z
No

Problem: Bot opens stash, picks item up, places it in stash then immediately C/Is.

Observations: It looks like bot's either trying to move to next action without closing stash, or is sending sendspace() before the item's actually stashed. Whenever this happens, after the item is stashed, the stash remains open til the C/I happens about 50-100ms later.
This happens most frequently when you lack stash space for the item. However when you do have space, it happens more frequently when the bot is only stashing a single item of 1x1(sc) or 1x3(gc) size.

Here's an example of a sequence where Crash-on-Stash happened several times for me, and the corresponding log entry:

Sequence: Eldritch, Sell, Stash, Thresh
--Log snippet
Chat: Selling item ÿc9Light Beltÿc0 which is level 84
Chat: Gold: 69926
Info: sendspace()
Info: Bot Thread Started
Chat: Starting Boss Stash
Chat: Closing NPC Menu
Chat: Gold: 70890
Info: sendspace()
Chat: Stashing item ÿc4The Stone of Jordanÿc0 which is level 87
Error: Game Unexpectedly Ended
Info: Game Cleanup Successful
Info: click()

Discussion

  • kingsob

    kingsob - 2008-05-31

    Logged In: YES
    user_id=1941693
    Originator: NO

    do you happen to be using

    DropInventoryGold=xxxxxxxxx

    i don't think this really works

     
  • Kelani Z

    Kelani Z - 2008-05-31

    Logged In: YES
    user_id=193557
    Originator: YES

    Kingsob: I do have DropInventoryGold=0 in my ini, but this happens regardless of my how much gold i have, or how much is in my stash. Unless DropInventoryGold is processed at the moment the stash is closed, I don't see how it could be related?
    I'd think this could be as simple a fix as changing the sleep(100) between when the item is placed in stash and sendspace() is sent, to sleep(250) or possibly up to 500ms. That also might fix the problem of the stash being left open while bot starts moving onto the next action.

     
  • kingsob

    kingsob - 2008-06-01

    Logged In: YES
    user_id=1941693
    Originator: NO

    yes DropInventoryGold happens after it sends the space.

    ClickButton(GameButton::StashGold, game->me._gold);
    Sleep(1000);
    game->_manager->SendSpace();

    if (game->_manager->_dropInventoryGold)
    {
    Chat(game->_chatName, false, "ÿc2Droping any leftover gold");
    Sleep(1000);
    DropGold(game->me.uid, game->me._gold);
    }

    i guess u would see the chat message in ur logs, dropping extra gold..

    i changed the sleep to 1000ms, this is in rc15, let me know if this still happens, if not, i guess this one is closed?

     
  • Kelani Z

    Kelani Z - 2008-06-01

    Logged In: YES
    user_id=193557
    Originator: YES

    Ok, I will test it tonight. I've never used any setting other than DropInventoryGold=0
    because I usually crash and eventually stop to unload before I ever max my gold quota (~3 million)
    Also, another typo in that: Droping any leftover gold" itym Dropping :)

     
  • Kelani Z

    Kelani Z - 2008-06-01

    Logged In: YES
    user_id=193557
    Originator: YES

    OK, still getting it. Although with that new delay, it's happening slightly earlier:

    Item is dragged over to the empty area in stash, then you get the C/I right before the item is released from the cursor. When you join the next game, item is still on your cursor.

    I've kept DropInventoryGold=0 as it was in my ini. Also, every time this happened (3x in 10 runs), I'd previously gambled all my gold, so I had ~100k in stash and zero in my inv at the time.

     
  • kingsob

    kingsob - 2008-06-02

    Logged In: YES
    user_id=1941693
    Originator: NO

    ok if item is still on cursor in next gam, it must be trng t stash it in an invalid location..

    do u ave d2smells?? if u do, log all GC packets and post last few the lcient send to server

     
  • Kelani Z

    Kelani Z - 2008-06-03

    Logged In: YES
    user_id=193557
    Originator: YES

    Let me clarify: Item staying picked up on cursor only started w/rc16. It never happened before. In 3.5.6 thru rc6-15, every time I saw this C/I, it's always hovered the item over a valid (empty) location. Once it places the item in stash, THEN it C/Is. This occurs really fast: like 50-100ms after the item is dropped but before the stash closes.

    If you still need it, I'll try to catch it w/d2smells and post here.

     
  • Kelani Z

    Kelani Z - 2008-06-03

    Logged In: YES
    user_id=193557
    Originator: YES

    Let me clarify: Item staying picked up on cursor only started w/rc16. It never happened before. In 3.5.6 thru rc6-15, every time I saw this C/I, it's always hovered the item over a valid (empty) location. Once it places the item in stash, THEN it C/Is. This occurs really fast: like 50-100ms after the item is dropped but before the stash closes.

    If you still need it, I'll try to catch it w/d2smells and post here.

     
  • kingsob

    kingsob - 2008-06-06

    Logged In: YES
    user_id=1941693
    Originator: NO

    yeah, im still not sure...

    the cursor should never move, you should just see the item on the cursor, then dissipear from the cursor.. it doesnt actually move the cursor over the empty spot n the stash... i assume if this happened, it was just luck???

    i dunno, thats really weird

    anywho... a d2smells dump would be great... even for other issues where you just CI.. o diablo crashes (for example in ur meph teleport post)

    it will tell me exactly what caused the CI, its usually the last packet that the client sent which caused it

     
  • Valtharak

    Valtharak - 2008-06-08

    Logged In: YES
    user_id=2101395
    Originator: NO

    Is this bug still happening?

    the last sendspace was after a sleep of only 100 maybe raiding it to 1000 would give enoght time to finish whatever is droping.

     
  • kingsob

    kingsob - 2008-06-08

    Logged In: YES
    user_id=1941693
    Originator: NO

    i dunno, i will increase the 2nd delay current 100 to 1000 too

    someone post if this happens to them in rc17+

     
  • Kelani Z

    Kelani Z - 2008-06-09

    Logged In: YES
    user_id=193557
    Originator: YES

    King: Yeah, the cursor moves from inv to stash just like if you did it yourself. The cursor always moves and drag the item over the empty spot. The only time it doesn't move is when bot get stuck somewhere and stashed an item from across the map w/o opening the stash. No problem though, it's actually a good thing, cause it helps you make sure bot isn't trying to stash an item in an invalid place.

    I haven't had this happen yet in rc17.1, but if I do, I'll post a d2smells dump.

     
  • kingsob

    kingsob - 2008-06-13
    • priority: 7 --> 8
    • assigned_to: nobody --> kingsob
     
  • kingsob

    kingsob - 2008-06-13

    Logged In: YES
    user_id=1941693
    Originator: NO

    finally had this happen to me today.. it was tyring to stash an item when the stash was full

    going to have to look into this

     
  • Kelani Z

    Kelani Z - 2008-06-14

    Logged In: YES
    user_id=193557
    Originator: YES

    Yeah, it definitely does it then. But remember, it also does it when stash has room, and even totally empty.

    Correction on my previous report: You were right. mouse pointer doesn't move when item is stashed. The item's just moved so mechanically and fast it looked like it was.

     
  • kingsob

    kingsob - 2008-07-02

    Logged In: YES
    user_id=1941693
    Originator: NO

    is this still an issue?

     
  • Kelani Z

    Kelani Z - 2008-07-02

    Logged In: YES
    user_id=193557
    Originator: YES

    In 21.4.2 it still happens. C/I stashing a rune into a totally empty stash, started next game with rune on pointer.

     
  • kingsob

    kingsob - 2008-07-02

    Logged In: YES
    user_id=1941693
    Originator: NO

    i cant for the life of me figure this one out, or replicate it... other thanthat single time it happened to me...

    if you could give me a d2semlls dump, this would help sooo much.. would also be useful for other bugs too :)))))

     

Log in to post a comment.