Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-738

'make check` fails on x86

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.1.7
    • 2.1.9
    • Build
    • None
    • ATS 2.1.7 on x86, gcc 4.5.2

    Description

      The `make check' target of the Makefile fails to build on x86, AMD64 is fine. Output is (stripped to relevant parts only):

      root@build:/home/arno/build-area/trafficserver-2.1.7-unstable# make check
      Making check in proxy/api/ts
      ...
      Create thread 59
      Create thread 60
      Create thread 61
      Create thread 62
      Create thread 63
      0x08724a60   0x08724a60   0x08724a60
      FAIL: test_freelist
      PASS: test_arena
      test_List PASSED
      PASS: test_List
      =============================================
      1 of 4 tests failed
      Please report to dev@trafficserver.apache.org
      =============================================
      

      or

      /bin/bash: line 5: 29956 Segmentation fault      ${dir}$tst
      FAIL: test_freelist
      

      or it even succeeds. This might be a race condition therefore. A backtrace from a core dump of a crashed LD_PRELOAD=./.libs/libtsutil.so.2 ./.libs/test_freelist run shows:

      Core was generated by `./.libs/test_freelist'.
      Program terminated with signal 11, Segmentation fault.
      #0  ink_freelist_new (f=0x94ff018) at ink_queue.cc:322
      322           SET_FREELIST_POINTER_VERSION(next, *ADDRESS_OF_NEXT(TO_PTR(FREELIST_POINTER(item)), f->offset),
      (gdb) bt
      #0  ink_freelist_new (f=0x94ff018) at ink_queue.cc:322
      #1  0x08048996 in test (d=0x1f) at test_freelist.cc:50
      #2  0xf772f7b0 in start_thread () from /lib/libpthread.so.0
      #3  0xf74688fe in clone () from /lib/libc.so.6
      

      I'm not familiar with ATS' data structures, but gdb indicates the following values:

      $2 = {s = {pointer = 0x1f1f1f1f, version = 165962584}, data = 712803871161786143}
      (gdb) print f
      $3 = (InkFreeList *) 0x94ff018
      (gdb) print f->offset
      $4 = 0
      

      Attachments

        Activity

          People

            jplevyak John Plevyak
            at Arno Toell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: