#17 Unknown error code 34

v1.0 (example)
open
nobody
None
5
2014-01-18
2013-10-21
No

i've been getting this error after starting esniper,

Auction 25135764xxxx: Unknown error code 34
Retrying...
Auction 25135764xxxx: Unknown error code 34
Retrying...
Auction 25135764xxxx: Unknown error code 34

Auction 25135764xxxx: Unknown error code 34

I've tried reinstalling curl/ssl , I've disabled my firewall, I verified my ability to connect with curl to signin.ebay.com. Also I get the same error even if I enter the wrong password.

My log file show no errors and no bug file created.

OS FreeBSD 9

Please help thanks...

Discussion

  • Bodo

    Bodo - 2013-10-21

    As far as I can see, this error is returned when the CURL initialization failed in function initCurlStuff(). I think you have to set the debug option to get a CURL error message from initCurlStuffFailed().
    If you cannot get a CURL error message, try to debug initCurlStuff() and find out what exactly fails.

     
  • Source Forger

    Source Forger - 2013-10-21

    Nothing in the debug file. How do i debug initCurlStuff() ?

     
  • Source Forger

    Source Forger - 2013-10-21

    I looked up error codes per curl website,

    CURLE_HTTP_POST_ERROR (34)

    This is an odd error that mainly occurs due to internal confusion.

     
    • Bodo

      Bodo - 2013-10-21

      Thhe number 34 is not a CURL error but esniper error "ae_unknown". This error code is used if initCurlStuff() returns an error. (Using ae_unknown here can be considered a bug. It should be replaced with a specific error code, e.g. ae_curlerror.)

      Is this your first try to get esniper running?
      Did esniper work before on this system?

      To debug initCurlStuff() you have to compile esniper with debug information and use a debugger (gdb).

       
  • Source Forger

    Source Forger - 2013-10-22

    esniper used to work on my system however some time has passed since I last used it.

    Curl verision 7.32.0

    I know how to compile esniper using source(./configure,make install) but how do i add flag for debugging initCurlStuff()?

     
  • Bodo

    Bodo - 2013-10-22

    On my Linux system I noticed that the generated Makefile contains "CFLAGS = -g -O2". This enables debugging with some optimization. I did not analyze the configure stuff, so I don't know why this gets added automatically.

    The simplest way to compile with debug information is to modify the Makefile to include -g in CFLAGS if not already present. I don't know the details of FreeBSD. On some UNIX-like systems you have add -g to LDFLAGS, too. After modifying the makefile "make clean; make".
    If you need more help with compiling or debugging esniper, try to find basic information about GCC, GDB, Make, Autotools etc. in corresponding documentation or tutorials.

     
  • Source Forger

    Source Forger - 2014-01-15

    Its been a few months but I noticed an error after adding -g flag. When running make, the last line of output from make has this error repeated 3 times.

    ==================================
    /usr/bin/ld: warning: libcrypto.so.6, needed by /usr/lib/libheimntlm.so.10, may conflict with libcrypto.so.8
    ===================================

    output from find

    ====================================
    find / -name libcrypto.so.* ──(Wed,Jan15)─┘
    /usr/local/lib/compat/libcrypto.so.5
    /usr/local/lib/compat/libcrypto.so.4
    /usr/local/lib/libcrypto.so.8
    /usr/local/lib/libcrypto.so.6
    /usr/local/lib32/compat/libcrypto.so.5
    /usr/local/lib32/compat/libcrypto.so.4
    /usr/obj/usr/src/tmp/lib/libcrypto.so.6
    /usr/obj/usr/src/secure/lib/libcrypto/libcrypto.so.6
    /usr/obj/usr/src/lib32/usr/lib32/libcrypto.so.6
    /usr/obj/lib32/usr/src/secure/lib/libcrypto/libcrypto.so.6
    /usr/lib32/libcrypto.so.6
    /lib/libcrypto.so.6
    ======================================

     
  • Bodo

    Bodo - 2014-01-15

    I can only guess. Maybe your application wants to use libcrypto.so.8 from your local installation directly but also uses your system's libheimntlm.so.10 which is compiled to use libcrypto.so.6.

    You should not mix local libraries and your system's libraries, especially don't install other versions of libraries which are already present in your OS. I suggest to remove all libraries from /usr/local and only use your system's libraries.

     
  • Source Forger

    Source Forger - 2014-01-17

    My lib locations are fine, freebsd has a different heiarchy . it also appears libcrypto.so.6 is linked to 8.

    I noticed in the ensiper log a curl error, not very descriptive but:

    ============
    *** 2014-01-17 03:22:14.491212 An unknown option was passed in to libcurl

    *** 2014-01-17 03:22:14.491230

    *** 2014-01-17 03:22:14.491236 Auction 2513576xxxxx6: Unknown error code 34

    *** 2014-01-17 03:22:14.491255

    =============

    Any ideas?

     
    Last edit: Source Forger 2014-01-17
  • Bodo

    Bodo - 2014-01-17

    I don't have a FreeBSD system to check, but according to my experience on different UNIX systems everything in /usr/local has been installed by the user. Obviously the linker told you that you have a possible conflict between libcrypto.so.6 and libcrypto.so.8. That means something is wrong.
    Probably the libraries in /usr/local are not linked to the corresponding libraries in /usr/obj and maybe the linker found your system's version for .6 and your local version for .8.
    I can only repeat: You should not have different copies of the same library on your system, except if you really know what you are doing. Even if you would not have a .6 in /usr/local I'm not sure if an application can use both .6 and .8.

    For the error "An unknown option was passed in to libcurl" try to find out what exactly fails in initCurlStuff(). Maybe there is an incompatibility between your version of libcurl and the version I use to build esniper.

     
  • Source Forger

    Source Forger - 2014-01-17

    Hi, I compiled with -g and theres no useful info when using gdb but heres a copy.

    (gdb) run -d -c ~user/esniper/esniper.conf ~user/esniper/esniper.auction
    Starting program: /usr/home/jonah/esniper-2-28-0/esniper -d -c ~user/esniper/esniper.conf ~user/esniper/esniper.auction
    [New LWP 100656]
    [New Thread 803007400 (LWP 100656/esniper)]
    Auction xxx357647xxx: Unknown error code 34
    Retrying...
    Auction xxx357647xxx: Unknown error code 34
    Retrying...
    Auction xxx357647xxx: Unknown error code 34

    Auction xxx357647xxx: Unknown error code 34

    Program exited with code 01.
    (gdb)

    =======

    Any tips on how to debug further would be greatly appreciated. Thanks!

     
  • Source Forger

    Source Forger - 2014-01-18

    [Switching to Thread 803007400 (LWP 100264/esniper)]

    Breakpoint 1, initCurlStuff () at http.c:202
    202 {
    (gdb) bt

    0 initCurlStuff () at http.c:202

    1 0x0000000000402861 in ebayLogin (aip=0x8030ac0c0, interval=0) at auction.c:388

    2 0x0000000000402fe3 in getInfoTiming (aip=0x8030ac0c0, timeToFirstByte=0x0) at auction.c:240

    3 0x0000000000404e25 in sortAuctions (auctions=0x803067068, numAuctions=1, quantity=0x7fffffffd994) at auctioninfo.c:482

    4 0x0000000000405c92 in main (argc=1, argv=0x7fffffffda10) at esniper.c:863

    (gdb) break
    Note: breakpoint 1 also set at pc 0x4091a0.
    Breakpoint 2 at 0x4091a0: file http.c, line 202.
    (gdb) quit
    The program is running. Exit anyway? (y or n) n
    Not confirmed.
    (gdb) nexit
    Undefined command: "nexit". Try "help".
    (gdb) next
    206 curl_global_init(CURL_GLOBAL_ALL);
    (gdb) next
    209 if (!(easyhandle = curl_easy_init()))
    (gdb) next
    213 if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_ERRORBUFFER, globalErrorbuf)))
    (gdb) next
    217 if (options.curldebug &&
    (gdb) next
    222 if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_FOLLOWLOCATION, 1)))
    (gdb) next
    226 if (options.proxy &&
    (gdb) next
    231 if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback)))
    (gdb) next
    236 if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_USERAGENT, "Mozilla/4.7 [en] (X11; U; Linux 2.2.12 i686)")))
    (gdb) next
    241 if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_COOKIEFILE, "")))
    (gdb) next
    256 }
    (gdb) next
    initCurlStuff () at http.c:252
    252 return initCurlStuffFailed();
    (gdb) next
    Auction 251357647736: Unknown error code 34
    Retrying...

    Breakpoint 1, initCurlStuff () at http.c:202

     
  • Source Forger

    Source Forger - 2014-01-18

    esniper encountered a bug. Please go to:
    http://sourceforge.net/tracker/?func=add&group_id=xxxx5&atid=xxxx6
    paste this into "Detailed Description":
    Automated esniper bug report.
    esniper version 2.28.0
    libcurl/7.33.0 OpenSSL/1.0.1f zlib/1.2.7 c-ares/1.10.0
    Error encountered in function ebayLogin in auction.c line 445
    auction = xxx357647xxx, price = 99.00, remain = 0
    latency = 0, result = -1, error = 19
    buf = 0x803223800, size = 8370, read = 0x803223800
    time = 1390004951, offset = 0
    specified options or config values:
    1 x username(u) =
    1 x password() =

    1 x seconds(s) = 10
    1 x quantity(q) = 1
    1 x (c) = "/usr/home/user/esniper/esniper.conf"
    1 x (f) = "/usr/home/user/esniper/esniper.auction"
    1 x reduce() = 1
    1 x bid() = 1
    2 x debug(d) = 1
    1 x batch(b) = 0
    1 x loginHost() = "signin.ebay.com/aw-cgi/eBayISAPI.dll?SignIn"
    pageinfo is NULL
    then upload and attach esniper.xxxx.x.bug.html and click submit.
    ======================

    I commented line 242 and 252

     
    • Bodo

      Bodo - 2014-01-18

      Ebay's login process uses cookies. If libcurl doesnt keep cookies from one HTTP call to the next, the login will fail or will not be persistent. This was the reason to use libcurl instead of self-made HTTP protocol handling.

      I don't remember how exactly the cookie handling works. IIRC these curl_easy_setopt calls with CURLOPT_COOKIEFILE made esniper handle cookies internally but neither read nor write an external cookie file, similar to allowing cookies for the current session only in your browser.
      Maybe something has changed in your version of libcurl.

       
  • Source Forger

    Source Forger - 2014-01-18

    Thanks its finally working, for some reason curl was not compiled with cookie support. :)

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks