[ 
https://issues.apache.org/jira/browse/TS-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12911004#action_12911004
 ] 

Igor Galić commented on TS-427:
-------------------------------

8175 fixed in llvm r114259
In testing it, I hit, much, much later, a new assert, in gdb:



(gdb) print *d
$29 = {<Continuation> = {<force_VFPT_to_top> = {_vptr$force_VFPT_to_top = 
0x7ffff8276af0}, handler = {ptr = <error reading variable>, handler_name = 
0x7ffff7f7c490 "&Part::aggWriteDone", mutex = {m_ptr = 0x7ffff8868380}, 
    link = {<SLink<Continuation>> = {next = 0x0}, prev = 0x0}}, path = 
0x7ffff88cee80 "/var/opt/trafficserver/cache/cache.db", hash_id = 
0x7ffff88ced10 "/var/opt/trafficserver/cache/cache.db 16384:9727", hash_id_md5 
= {b = {
      6127868384971469622, 16013774615526535559}}, fd = 24, raw_dir = 
0x7ffff88d7000 "\r\360\320\361\025", dir = 0x7ffff88d9000, header = 
0x7ffff88d7000, footer = 0x7ffff88f3000, segments = 1, buckets = 2482, 
recover_pos = 8961024, 
  prev_recover_pos = 468992, scan_pos = 10532864, skip = 16384, start = 262144, 
len = 79683584, data_blocks = 9697, hit_evacuate_window = 0, io = 
{<AIOCallback> = {<Continuation> = {<force_VFPT_to_top> = {
          _vptr$force_VFPT_to_top = 0x7ffff8276bb0}, handler = {ptr = <error 
reading variable>, handler_name = 0x7ffff7f77770 
"&AIOCallbackInternal::io_complete", mutex = {m_ptr = 0x7ffff8868380}, link = 
{<SLink<Continuation>> = {
            next = 0x0}, prev = 0x0}}, aiocb = {aio_fildes = 0, aio_buf = 
0x7ffff03be000, aio_nbytes = 103424, aio_offset = 572416, aio_reqprio = 0, 
aio_lio_opcode = 2, aio_state = 0, aio__pad = {0}}, action = {_vptr$Action = 
0x0, 
        continuation = 0x7ffff88d56f0, mutex = {m_ptr = 0x7ffff8868380}, 
cancelled = 0}, thread = 0xffffffffffffffff, then = 0x0, aio_result = 103424}, 
first = 0x0, aio_req = 0x7fffec02b600, sleep_time = 0}, agg = {<DLL> = {head = 
0x0}, 
    tail = 0x0}, stat_cache_vcs = {<DLL> = {head = 0x0}, tail = 0x0}, sync = 
{<DLL> = {head = 0x0}, tail = 0x0}, agg_buffer = 0x7ffff03be000 
"\023\233\022_\204\206\001", agg_todo_size = 0, agg_buf_pos = 0, trigger = 0x0, 
  open_dir = {<Continuation> = {<force_VFPT_to_top> = {_vptr$force_VFPT_to_top 
= 0x7ffff8276b30}, handler = {ptr = <error reading variable>, handler_name = 
0x7ffff7f77d20 "&OpenDir::signal_readers", mutex = {m_ptr = 0x7ffff8868380}, 
      link = {<SLink<Continuation>> = {next = 0x0}, prev = 0x0}}, 
delayed_readers = {<DLL> = {head = 0x0}, tail = 0x0}, bucket = {{head = 0x0} 
<repeats 256 times>}}, ram_cache = 0x7fffeccca250, evacuate_size = 6, 
  evacuate = 0x7ffff88cee20, lookaside = {{head = 0x0} <repeats 256 times>}, 
doc_evacuator = 0x7c30f00df00d, init_info = 0x0, disk = 0x7fffec02b4a0, cache = 
0x7ffff88ced70, cache_part = 0x7ffff88cea70, last_sync_serial = 4, 
  last_write_serial = 0, sector_size = 512, recover_wrapped = false, 
dir_sync_waiting = false, dir_sync_in_progress = false, writing_end_marker = 
false, first_fragment_key = {b = {0, 0}}, first_fragment_offset = 4294993844, 
  first_fragment_data = {m_ptr = 0x0}}
(gdb) print *thread
$30 = <incomplete type>
(gdb) print lock
$31 = {m = {m_ptr = 0x0}, lock_acquired = false}
(gdb) continue
Continuing.
FATAL: CacheDir.cc:1288: failed assert `lock`
/opt/trafficserver/bin/traffic_server(ink_fatal_va+0x111)[0x7f3aac0a1a31]
/opt/trafficserver/bin/traffic_server(ink_fatal+0x150)[0x7f3aac0a1ba0]
/opt/trafficserver/bin/traffic_server(_ink_assert+0x112)[0x7f3aac0a0c02]
/opt/trafficserver/bin/traffic_server(RegressionTest_Cache_dir(RegressionTest*, 
int, int*)+0xde)[0x7f3aac01e61e]
/opt/trafficserver/bin/traffic_server(+0x41d88d)[0x7f3aac0b888d]
/opt/trafficserver/bin/traffic_server(RegressionTest::run_some()+0x124)[0x7f3aac0b8a34]
/opt/trafficserver/bin/traffic_server(RegressionTest::check_status()+0x2f)[0x7f3aac0b8aaf]
/opt/trafficserver/bin/traffic_server(RegressionCont::mainEvent(int, 
Event*)+0xd4)[0x7f3aabe2d9d4]
/opt/trafficserver/bin/traffic_server(Continuation::handleEvent(int, 
void*)+0x78)[0x7f3aabdd6718]
/opt/trafficserver/bin/traffic_server(EThread::process_event(Event*, 
int)+0x171)[0x7f3aac096f91]
/opt/trafficserver/bin/traffic_server(EThread::execute()+0x27f)[0x7f3aac0973ef]
/opt/trafficserver/bin/traffic_server(main+0x1903)[0x7f3aabe278a3]
/lib/libc.so.6(__libc_start_main+0xfe)[0x7f3aa9739d8e]

Program received signal SIGABRT, Aborted.
0x00007ffff55b0ba5 in raise (sig=<value optimized out>) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
        in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb)

> Build ATS with clang
> --------------------
>
>                 Key: TS-427
>                 URL: https://issues.apache.org/jira/browse/TS-427
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 2.3.0
>         Environment: OS: Any; Clang --version:
> clang version 1.1 (branches/release_27)
> Target: x86_64-pc-linux-gnu
> Thread model: posix
>            Reporter: Igor Galić
>         Attachments: ats-trunk.clang-trunk.patch, ats.clang.compile.patch, 
> ats.clang.patch, ats.clang.patch, ats_clang_stuck.strace
>
>
> I've started compiling, and cleaning up traffic-server from trunk with clang, 
> with this config:
> i.ga...@phoenix ~/Projects/asf/trafficserver (svn)-[trunk:989985] % cat 
> config.notnice
> #! /bin/sh
> #
> # Created by configure
> CC="clang"; export CC
> CXX="clang"; export CXX
> CFLAGS="-fPIC -march=core2 -msse4.1 -D_FORTIFY_SOURCE=2"; export CFLAGS
> CXXFLAGS="-fPIC -march=core2 -msse4.1 -D_FORTIFY_SOURCE=2"; export CXXFLAGS
> LDFLAGS="-Wl,--as-needed -Wl,--warn-common"; export LDFLAGS
> "./configure" \
> "--enable-layout=opt" \
> "--with-user=proxy" \
> "--with-group=proxy" \
> "CC=clang" \
> "CFLAGS=-fPIC -march=core2 -msse4.1 -D_FORTIFY_SOURCE=2" \
> "LDFLAGS=-Wl,--as-needed" \
> "CXX=clang" \
> "$@"
> i.ga...@phoenix ~/Projects/asf/trafficserver (svn)-[trunk:989985] %
> Until I hit errors that seemed to include templates.
> I'm uploading the current patch for you to sanity-check and review. If it 
> makes sense, I suppose it does a bit of a clean-up.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to