Menu

#722 Cannot find bid token (found=0)

v1.0 (example)
closed-wont-fix
nobody
None
5
2019-05-05
2017-05-14
No

Not every auction, but every then and a while I get:

Automated esniper bug report.
esniper version 2.33.0
libcurl/7.37.0 OpenSSL/1.0.2j zlib/1.2.8 libidn/1.28 libssh2/1.4.3
Error encountered in function preBid in auction.c line 399
auction = 322508551169, price = 6.66, remain = 0
latency = 0, result = -1, error = 11
buf = 0xcbb460, size = 113804, read = 0xcbb460
time = 1494786855, offset = 0
pagename = "xxxxx Abenteuermodul Schmelztiegel des Chaos xxx deutsch M �ngelexemplar", pageid = "(null)", srcid = "(null)"
specified options or config values:
1 x username(u) =
1 x password() =

1 x seconds(s) = 14
1 x quantity(q) = 37
1 x (c) = "/home/singvogel/.esniper"
1 x (f) = "ebay.txt"
cannot find bid token (found=0)

1 Attachments

Discussion

  • Bodo

    Bodo - 2017-05-14

    I guess you modified the seconds and quantity values. What is the real seconds value?

    The attached HTML page has the message "Bidding has ended on this item." and "Ended:
    May 14, 2017 , 8:34PM" Unfortunately it doesn't tell the seconds.
    It looks as if esniper tried to bid too late. time = 1494786855 is 14.05.2017 20:34:15.
    preBid() (or in fact it should be "parsePreBid") is the preparation of the bid. Normally esniper tries to check the auction 2min before the end time minus latency minus bid time (seconds). If the remaining time is not more then 2min30sec it should run preBid().

    On what kind of system do you run esniper?
    In order to avoid problems resulting from wrong systen time, esniper always uses the remaining time for its calculations. But the system may delay the execution of esniper if it has high priority tasks, heavy load or other problems. But I cannot imagine why esniper could be delayed for 2min. (Of course there may be a bug in the calculation of the sleep time.)
    Or maybe the seller somehow ended the auction early. (Don't know if this is possible.)

     
  • Klaus Singvogel

    Klaus Singvogel - 2017-05-14

    Yes, indeed the "second" value is set to "14" in my .esniper file. -- Worked well in the past 10 years.

    Will increase the value. Thanks for the hint.

    esniper is running on a openSUSE 42.2 system, and xntp is configured and running.

     

    Last edit: Klaus Singvogel 2017-05-14
  • Bodo

    Bodo - 2017-05-14

    I don't think increasing the seconds value will help. The numbers looked strange to me, that's why I wanted to make sure you don't use a very small number.
    And I don't expect performance problems on a normal PC in contrast to an embedded system like a router.

    Do you have a log of esniper's output?
    I would like to know when esniper was active and which sleep durations were calculated.

     
  • Klaus Singvogel

    Klaus Singvogel - 2017-05-15

    Sorry, but there is no log.

    Neverless, I think I found the cause of the issue as I have a backlog in my screen. Thanks for pointing me to that direction.

    I bid on several auctions last night, and the second one (see above) ended only 2 seconds after another auction (from same seller!). I started esniper to bid on both auctions.

    As a result, esniper bid on first one (successful), waited for completion (20 secs?), and tried to bit on second one. But this auction was already over.

    esniper stopped with a crash, and all the related information was given above.

    Can you fix it that way, that esniper is no longer crashing in such a situation (missing bid token)?

    Thanks in advance.

     
  • Bodo

    Bodo - 2017-05-15

    Esniper processes the auctions one by one sorted by end time, and it waits 2 secs after the end time to check the bid result, so it cannot handle an auction that ends within a few seconds after the previous one.

    It is difficult to suppress the bug report. The code which tries to parse the HTML page cannot distinguish between ebay sending an unexpected page in this situation or a change in the expected page which breaks the parser.

    Maybe the auction handling/sorting must check if the remaining time is sufficient before trying to bid and skip the auction.

     
  • Michael S.

    Michael S. - 2017-05-18

    From my point of view, such situation could only be solved by a multi-threaded version of esniper.

     

    Last edit: Michael S. 2017-05-20
  • Wasp

    Wasp - 2017-07-24

    I didn't read the full thread but the error occures when the seller removes the item before the auction ends. (At least that's what happend when it occured to me.) In my case I found the note (or similiar -- translated anyway) "The seeler removed the auction“ because the product is not available anymore". Instead of throwhing an error esniper should just test for those cases and precede. Sadly I'm not familiar with the code enough to supply a patch even though the problem and the general solution is kinda obvious to me.

    Best regards
    Wasp

     

    Last edit: Wasp 2017-07-24
  • Michael S.

    Michael S. - 2019-05-05
    • status: open --> closed-wont-fix
     
  • Michael S.

    Michael S. - 2019-05-05

    As I wrote 2 year ago:
    The problem cannot be solved with the current design of esniper. Currently esniper bids N seconds + latency before the action ends, waits until the end of auction + 2 seconds and analye the result. Within that time no other bids can be placed.

    Currently you can only solve the situation by only placing actions with difference in ending time of about 10 - 15 seconds (depends on the latency) in one file and others in another file and so on. Otherwise esniper will fail.

     

Log in to post a comment.