Try [email protected], they are responsible for the CI.

Patrick

On Sun, Jun 10, 2012 at 2:32 AM, Michi Mutsuzaki <[email protected]> wrote:
> It looks like "msbuild" command is missing.
>
> f:\hudson\hudson-slave\workspace\ZooKeeper-trunk-WinVS2008>msbuild
> trunk/src/c/zookeeper.sln /p:Configuration=Release
> 'msbuild' is not recognized as an internal or external command,
> operable program or batch file.
>
> Here is the output from the last successful run.
>
> f:\hudson\hudson-slave\workspace\ZooKeeper-trunk-WinVS2008>msbuild
> trunk/src/c/zookeeper.sln /p:Configuration=Release
> Microsoft (R) Build Engine Version 3.5.30729.1
> [Microsoft .NET Framework, Version 2.0.50727.4223]
> Copyright (C) Microsoft Corporation 2007. All rights reserved.
>
> Who should I contact to fix this?
>
> Thanks!
> --Michi
>
> On Sat, Jun 9, 2012 at 11:28 AM, Michi Mutsuzaki <[email protected]> 
> wrote:
>> Ok, I'll take a look.
>>
>> --Michi
>>
>> On Fri, Jun 8, 2012 at 3:17 PM, Patrick Hunt <[email protected]> wrote:
>>> Speaking of windows, Michi can you take a look why the windows job has
>>> started failing of late? Perhaps an environment change? (you might
>>> look at other windows jobs on that box to get an idea)
>>>
>>> https://builds.apache.org//view/S-Z/view/ZooKeeper/job/ZooKeeper-trunk-WinVS2008/
>>>
>>> Thanks!
>>>
>>> Patrick
>>>
>>> On Fri, Jun 8, 2012 at 10:16 AM, Michi Mutsuzaki <[email protected]> 
>>> wrote:
>>>> I think there is a bug in windows port (are you on windows?) that
>>>> doesn't set recursive attribute for the to_send mutex. Please open a
>>>> jira:
>>>>
>>>> https://issues.apache.org/jira/browse/ZOOKEEPER
>>>>
>>>> Thanks!
>>>> --Michi
>>>>
>>>> On Fri, Jun 8, 2012 at 1:00 AM, 乱麻的魅力 <[email protected]> wrote:
>>>>> hi dev:
>>>>>     I now try to use the zookeeper cli (c code version)to connect the 
>>>>> zookeeper server, but i find only can connect to ZK,but cann't send any 
>>>>> cmd to ZK, like "ls /".  if i send cmd ,then zk-cli goto deadlock at this 
>>>>> line  lock_buffer_list(list)   {//LINE 00945 dequeue_buffer() function of 
>>>>> zookeeper.c};   then i try to locate this case.
>>>>>
>>>>>    i download  the zk cli (ver 3.4.3) from 
>>>>> http://labs.renren.com/apache-mirror/zookeeper/ ,  buid the project 
>>>>> again, find bug locate the line 00945   in 
>>>>> zookeeper-3.4.3.tar.gz\zookeeper-3.4.3\src\c\src\zookeeper.c too. now i 
>>>>> describe this case below:
>>>>>
>>>>>  1 if client send cmd to ZKserver, client need call some function to send 
>>>>> the cmd ,like zoo_awget,send_ping,zoo_aget,etc.., all this function need 
>>>>> call  adaptor_send_queue(zh, 0); then below...
>>>>>
>>>>>  2 adaptor_send_queue(zh, 0) call  flush_send_queue(zh, timeout);
>>>>>
>>>>>  int flush_send_queue(zhandle_t*zh, int timeout)
>>>>> {
>>>>>    int rc= ZOK;
>>>>>    struct timeval started;
>>>>> #ifdef WIN32
>>>>>    fd_set pollSet;
>>>>>    struct timeval wait;
>>>>> #endif
>>>>>    gettimeofday(&started,0);
>>>>>    // we can't use dequeue_buffer() here because if (non-blocking) 
>>>>> send_buffer()
>>>>>    // returns EWOULDBLOCK we'd have to put the buffer back on the queue.
>>>>>    // we use a recursive lock instead and only dequeue the buffer if a 
>>>>> send was
>>>>>    // successful
>>>>>    lock_buffer_list(&zh->to_send);  /*first time lock the buffer, wfs 
>>>>> 20120608 */
>>>>>    while (zh->to_send.head != 0&& zh->state == ZOO_CONNECTED_STATE) {
>>>>>        if(timeout!=0){
>>>>>            int elapsed;
>>>>>            struct timeval now;
>>>>>            gettimeofday(&now,0);
>>>>>            elapsed=calculate_interval(&started,&now);
>>>>>            if (elapsed>timeout) {
>>>>>                rc = ZOPERATIONTIMEOUT;
>>>>>                break;
>>>>>            }
>>>>>  #ifdef WIN32
>>>>>            wait = get_timeval(timeout-elapsed);
>>>>>            FD_ZERO(&pollSet);
>>>>>            FD_SET(zh->fd, &pollSet);
>>>>>            // Poll the socket
>>>>>            rc = select((int)(zh->fd)+1, NULL,  &pollSet, NULL, &wait);
>>>>> #else
>>>>>            struct pollfd fds;
>>>>>            fds.fd = zh->fd;
>>>>>            fds.events = POLLOUT;
>>>>>            fds.revents = 0;
>>>>>            rc = poll(&fds, 1, timeout-elapsed);
>>>>> #endif
>>>>>            if (rc<=0) {
>>>>>                /* timed out or an error or POLLERR */
>>>>>                rc = rc==0 ? ZOPERATIONTIMEOUT : ZSYSTEMERROR;
>>>>>                break;
>>>>>            }
>>>>>        }
>>>>>         rc = send_buffer(zh->fd, zh->to_send.head);
>>>>>        if(rc==0 && timeout==0){
>>>>>            /* send_buffer would block while sending this buffer */
>>>>>            rc = ZOK;
>>>>>            break;
>>>>>        }
>>>>>        if (rc < 0) {
>>>>>            rc = ZCONNECTIONLOSS;
>>>>>            break;
>>>>>        }
>>>>>        // if the buffer has been sent successfully, remove it from the 
>>>>> queue
>>>>>        if (rc > 0)
>>>>>            remove_buffer(&zh->to_send); /*this function will second time 
>>>>> lock the buffer with lock under locked status, wfs 20120608 */
>>>>>
>>>>>        gettimeofday(&zh->last_send, 0);
>>>>>        rc = ZOK;
>>>>>    }
>>>>>    unlock_buffer_list(&zh->to_send);
>>>>>    return rc;
>>>>> }
>>>>>
>>>>>  static int remove_buffer(buffer_head_t *list)
>>>>> {
>>>>>    buffer_list_t *b = dequeue_buffer(list);
>>>>>    if (!b) {
>>>>>        return 0;
>>>>>    }
>>>>>    free_buffer(b);
>>>>>    return 1;
>>>>> }
>>>>>
>>>>>  static buffer_list_t *dequeue_buffer(buffer_head_t *list)
>>>>> {
>>>>>    buffer_list_t *b;
>>>>>    lock_buffer_list(list);  /*this function second time lock the buffer 
>>>>> with lock under locked status 20120608 , then will lead the function to 
>>>>> deadlock at this line;
>>>>>
>>>>>     if i re-write a new function like *dequeue_buffer(buffer_head_t 
>>>>> *list)  and remove_buffer function without lock and unlock to be callback 
>>>>> by flush_send_queue, then zk-cli can send cmd to the zookkeeper server, 
>>>>> clie don't deadlock*/
>>>>>
>>>>>    b = list->head;
>>>>>    if (b) {
>>>>>        list->head = b->next;
>>>>>        if (!list->head) {
>>>>>            assert(b == list->last);
>>>>>            list->last = 0;
>>>>>        }
>>>>>    }
>>>>>    unlock_buffer_list(list);
>>>>>    return b;
>>>>> }
>>>>>
>>>>>  i don't known whether I detailly describe this case,  and i find old 
>>>>> version 3.3.3 have this bug too,i think this c source-code maybe never be 
>>>>> tested or i use wrong way, can you help me clear this case。
>>>>>
>>>>>  thanks!
>>>>>    wfs fr china 20120608

Reply via email to