Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#606 cannot find bid uiid

open
nobody
5
2012-02-27
2012-02-27
Marc-Oliver Pahl
No

Automated esniper bug report.
esniper version 2.27.0
libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
Error encountered in function preBid in auction.c line 341
auction = 200717038162, price = 142.99, remain = 32
latency = 95, result = -1, error = 11
buf = 0x8792438, size = 60356, read = 0x8792438
time = 1330367826, offset = 0
pagename = "QNAP TS-109 II NAS inkl. 1TB-Festplatte, in OVP | eBay", pageid = "(null)", srcid = "(null)"
specified options or config values:
1 x seconds(s) = 5
1 x (P) = ***
1 x (U) = "username"
1 x (f) = "auctionfile"
cannot find bid uiid
then upload and attach esniper.6224.1.bug.html and click submit.
Cannot get bid key

Discussion

  • Bodo
    Bodo
    2012-02-28

    The auction has ended, but esniper currently does not recognize the page presented by ebay.
    Did the seller end the auction early?

     
  • Bodo
    Bodo
    2012-02-28

    You can open the attached file esniper.6224.1.bug.html in a browser. The page shows "Bidding has ended on this item." and "Ended: Feb 27, 201210:34:00 PST".

    The line "Error encountered in function preBid in auction.c line 341" means esniper was preparing for bidding. This corresponds to entering the bid amount and quantity on the article description page and pressing the bid button which results in another confirmation page where you tell ebay that you really want to bid. esniper does this not more than 150 seconds before the calculated ending time of the auction.

    In your case esniper thought that the remaining time was 32 seconds. It did not receive the expected confirmation page (which should contain the uiid value) but a variation of the article description telling you that the auction already ended.
    That means esniper prepared for bidding too late, either because the auction ended early or maybe because there was something wrong with the time on your system.

     
  • Thanks for the explanation! Cool to get such a fast reply, thanks!

    The timing issue is probably not due to the clock being out of sync as it is synced automatically. Maybe the system was hanging for some reason or its Internet connection was broken during that time. Thank you.

     
  • Bodo
    Bodo
    2012-02-28

    It might be possible to find out more details about the timing problem if you know the time when esniper created the bug report. Maybe you can check the file modification time of the file esniper.6224.1.bug.html.

    I guess esniper cannot do anything if this happens again. The only open problem is that esniper currently does not recognize the page presented by eBay, but with esniper's concept of analyzing the pages it is not so easy as it has been before the latest changes. Normally, esniper should print an error message "auction ended" or similar and continue its normal work.

     
  • Good idea.

    The file time is
    Feb 27 19:37 esniper.6224.1.bug.html

    The auction ended
    27. Feb. 201219:34:00 MEZ
    thus three minutes before the report was created...

    If you have further ideas about identifying what might have gone wrong I am happy to hear about them. Thanks.

     
  • (Time should be in sync as ntp is running and regularly syncing. Just verified.)

     
  • Bodo
    Bodo
    2012-02-28

    I have to check the code if my following theory can explain your situation:
    Maybe the remaining time is some old value from the last time esniper checked it.
    If there are network or internet problems esniper will not be able to prepare for bidding at the right time. Maybe it retries until it finally is successful or until it finds the unexpected page because the auction is over.

     
  • > Maybe the remaining time is some old value from the last time esniper
    checked it.

    Possible, but it would imply that the oscillator of the local clock chip drifted within a short time (or the local time got changed in between).

    Esniper uses relative local time, no? So between the pre last and the last check of the page by esniper the page must have drifted three minutes (or been changed).

    Also I found in my logs:

    Auction 190639776408: QNAP TS - 109 Pro NAS - Server + 1TB Festplatte OVP
    Time remaining: 1 day 6 hours 21 mins (109260 seconds)
    End time: 19/02/2012 19:25:48 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ...
    Auction 190639776408: QNAP TS - 109 Pro NAS - Server + 1TB Festplatte OVP
    Time remaining: 6 hours 21 mins 44 secs (22904 seconds)
    End time: 19/02/2012 19:26:37 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    And just right now:
    Auction 110829776502: QNAP TS-112
    Time remaining: 3 hours 56 mins 19 secs (14179 seconds)
    End time: 28/02/2012 19:46:00<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ...
    Sorting auctions...
    ...
    Auction 110829776502: QNAP TS-112
    Time remaining: 3 hours 56 mins 19 secs (14179 seconds)
    End time: 28/02/2012 19:46:01<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    So there are time changes. In the later case just one second but strange anyway, no?

     
  • Bodo
    Bodo
    2012-02-28

    >> Maybe the remaining time is some old value from the last time esniper checked it.
    >Possible, but it would imply that the oscillator of the local clock chip
    drifted within a short time (or the local time got changed in between).

    No. My theory is this: esniper...
    1. checked the remaining time and found it to be 32 seconds.
    2. faced some problems that prevented it from preparing for bidding
    3. retried until it found that the auction ended without checking the remaining time again
    4. printed the bug report including the old value for the remaining time.

    > Esniper uses relative local time, no?

    Esniper calculates the end time by parsing the remaining time shown in these lines
    > Time remaining: 1 day 6 hours 21 mins (109260 seconds)
    >Time remaining: 6 hours 21 mins 44 secs (22904 seconds)
    and adding this to the local time.
    The local time (result of time()) has a resolution of 1 second.
    The resolution of the remaining time as shown by eBay depends on the remaining time. I think, it will have a resolution of 1 second when the remaining time is less than a day and a resolution of 60 seconds when it is more than 1 day.
    (This should not be a problem because esniper checks the auction a few hours and a few minutes before its estimated end time.)

    So the total error results from the limited resolution up to an error of 2 seconds plus any network delay.

    Esniper tries to estimate the network delay (=latency) by checking the time from sending the HTTP request until receiving the answer.

    That means variations of the remaining time of not more than 2 seconds should be OK.

    This is one of the reasons why esniper limits the bid time to at least 5 seconds before the end time of the auction.

    > So between the pre last and the last
    > check of the page by esniper the page must have drifted three minutes (or
    > been changed).

    I think so.

     
  • ic, thanks for the details.

    I assume too that there were some local problems that prevented it from bidding in time.

     
  • Andrey Kiselev
    Andrey Kiselev
    2012-08-17

    I have the same trouble. Though in my case it more or less clean where the problem is. I've added a bunch of auctions ended in (almost) the same time and got a bunch of reports like that:

    Auction 150875634047: S1030 Album Pickers OLD China stamp MH 1 1/2 fen building FREE SHIPPING
    Time remaining: -- (0 seconds)
    Currently: 0.90 (your maximum bid: 1.05)
    # of bids: 2
    High bidder: 5***i (NOT ***)
    Latency: 0 seconds

    esniper encountered a bug. Please go to:
    http://sourceforge.net/tracker/?func=add&group_id=45285&atid=442436
    paste this into "Detailed Description":
    Automated esniper bug report.
    esniper version 2.27.0
    libcurl/7.26.0 GnuTLS/2.12.20 zlib/1.2.7 libidn/1.25 libssh2/1.4.1 librtmp/2.3
    Error encountered in function preBid in auction.c line 341
    auction = 150875634047, price = 1.05, remain = 0
    latency = 0, result = -1, error = 11
    buf = 0x9655270, size = 54076, read = 0x9655270
    time = 1345170241, offset = 0
    pagename = "S1030 Album Pickers OLD China stamp MH 1 1/2 fen building FREE SHIPPING | eBay", pageid = "(null)", srcid = "(null)"
    specified options or config values:
    2 x username(u) = ***
    2 x password() = ***
    1 x quantity(q) = 19
    1 x (f) = "auctions"
    cannot find bid uiid
    then upload and attach esniper.24457.12.bug.html and click submit.
    Cannot get bid key
    Auction 150875634047: Bid uiid not found

    I think the auction just ended while esniper worked on the previous one, so it hasn't a chance to bid in time. I am realizing that proper solution includes introducing of some kind of parallelism to esniper which is not trivial task. But at least esniper could complain about auctions which end too close to each other.