You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Zhao Yongming (Closed) (JIRA)" <ji...@apache.org> on 2011/11/09 11:05:51 UTC

[jira] [Closed] (TS-970) ts crash when use evacuate feature

     [ https://issues.apache.org/jira/browse/TS-970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhao Yongming closed TS-970.
----------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 3.1.2)
                   3.1.1
         Assignee: mohan_zl

this is fixed in r1199679
                
> ts crash when use evacuate feature
> ----------------------------------
>
>                 Key: TS-970
>                 URL: https://issues.apache.org/jira/browse/TS-970
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Cache
>         Environment: {noformat}
> # uname -a
> Linux cache170.cn63 2.6.32-131.4.1.tb204.el5.x86_64 #1 SMP Fri Jul 1 22:17:55 CST 2011 x86_64 x86_64 x86_64 GNU/Linux
> {noformat}
>            Reporter: mohan_zl
>            Assignee: mohan_zl
>             Fix For: 3.1.1
>
>         Attachments: TS-970-1.patch
>
>
> My config arguments:
> start trafficserver in one machine 1
> {code}
> # traffic_line -s "proxy.config.cache.hit_evacuate_percent" -v 5   // by default, the value is 0, means no evacuation
> # cat storage.config  //the size of storage file is 5G
> /dev/sda1                                                          
> {code}
> My test method:
> use http_load from another machine 2 to test machine 1
> {code}
> # http_load -parallel 500 -fetches 10000000 -proxy xxx.xx.xx.xxx:8080 mohan_urls
> # wc -l mohan_urls
> 40849490 mohan_urls
> # sort mohan_urls | uniq -c > mohan_urls_1; wc -l mohan_urls_1
> 14057051 mohan_urls_1
> # ls -al
> -rw-r--r-- 1 root root   3253681200 Sep 21 20:42 mohan_urls
> -rw-r--r-- 1 root root   1305299567 Sep 21 21:27 mohan_urls_1
> The total access urls' size is larger than the storage size
> {code}
> Crash result:
> {code}
> (gdb) bt
> #0  0x0000003639c30265 in raise () from /lib64/libc.so.6
> #1  0x0000003639c31d10 in abort () from /lib64/libc.so.6
> #2  0x00002aaaee6d86fa in ink_die_die_die (retval=1) at ink_error.cc:43
> #3  0x00002aaaee6d8979 in ink_fatal_va (return_code=1, message_format=0x424e6700 "CacheWrite.cc:519: failed assert `dir_pinned(&dir)`", 
>     ap=0x424e6600) at ink_error.cc:65
> #4  0x00002aaaee6d8b46 in ink_fatal (return_code=1, message_format=0x424e6700 "CacheWrite.cc:519: failed assert `dir_pinned(&dir)`")
>     at ink_error.cc:73
> #5  0x00002aaaee6d697a in _ink_assert (a=0x767108 "dir_pinned(&dir)", f=0x766a46 "CacheWrite.cc", l=519) at ink_assert.cc:44
> #6  0x00000000006afaa2 in CacheVC::evacuateDocDone (this=0x2aaaac371f80, event=3900, e=0x0) at CacheWrite.cc:519
> #7  0x00000000004d3789 in Continuation::handleEvent (this=0x2aaaac371f80, event=3900, data=0x0) at I_Continuation.h:146
> #8  0x00000000006b0e7b in Vol::aggWrite (this=0x2e18a10, event=3900, e=0x2e18ae0) at CacheWrite.cc:998
> #9  0x00000000006b1553 in Vol::evacuateWrite (this=0x2e18a10, evacuator=0x2aaaac371f80, event=3900, e=0x2e18ae0) at CacheWrite.cc:603
> #10 0x00000000006b2031 in Vol::evacuateDocReadDone (this=0x2e18a10, event=3900, e=0x2e18ae0) at CacheWrite.cc:687
> #11 0x00000000004d3789 in Continuation::handleEvent (this=0x2e18a10, event=3900, data=0x2e18ae0) at I_Continuation.h:146
> #12 0x000000000068a532 in AIOCallbackInternal::io_complete (this=0x2e18ae0, event=1, data=0x30687d0) at P_AIO.h:80
> #13 0x00000000004d3789 in Continuation::handleEvent (this=0x2e18ae0, event=1, data=0x30687d0) at I_Continuation.h:146
> #14 0x00000000006f69b0 in EThread::process_event (this=0x2aaaab22d010, e=0x30687d0, calling_code=1) at UnixEThread.cc:142
> #15 0x00000000006f6cf2 in EThread::execute (this=0x2aaaab22d010) at UnixEThread.cc:219
> #16 0x00000000006f6337 in spawn_thread_internal (a=0x2d75190) at Thread.cc:88
> #17 0x000000363a8064a7 in start_thread () from /lib64/libpthread.so.0
> #18 0x0000003639cd3c2d in clone () from /lib64/libc.so.6
> {code}
> {code}
> (gdb) f 6
> #6  0x00000000006afaa2 in CacheVC::evacuateDocDone (this=0x2aaaac371f80, event=3900, e=0x0) at CacheWrite.cc:519
> 519                 ink_assert(dir_pinned(&dir));
> (gdb) p cod->num_writers
> $1 = 1
> (gdb) p cod->max_writers
> $2 = 5
> (gdb) p cod->dont_update_directory
> $3 = false
> (gdb) p cod->move_resident_alt
> $4 = false
> (gdb) p cod->reading_vec
> $5 = false
> (gdb) p cod->writing_vec
> $6 = true
> (gdb) p cod->first_dir
> $7 = {w = {61517, 5121, 14401, 59410, 0}}
> (gdb) p cod->single_doc_dir
> $8 = {w = {61517, 5121, 12585, 59410, 0}}
> (gdb) p this->dir
> $9 = {w = {10203, 5167, 14401, 59409, 0}}
> (gdb) p this->overwrite_dir
> $10 = {w = {20152, 5167, 10305, 59409, 0}}
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira