Skip to content

Make shadow returns -1 when plugin aborts during experiment #187

@ygnkim

Description

@ygnkim

#147, #156 이슈에서 (shadow-test 비슷한) unittest를 이용해 library 검증을 하도록 테스트들을 구현하고 있다. 그런데, test가 동작할 때, shadow내의 plugin에서 abort가 발생했음에도, shadow는 success를 return하고 있다.

plugin 중에 하나라도 에러가 발생하면 shadow는 -1을 return하게 구현되어 있다.
https://github.com/kaistshadow/shadow/blob/7eeb326e2c7788ca5e86d854f582d607d2c217ab/src/main/core/shd-slave.c#L205

그런데 shadow plugin에 abort가 발생했는데 success가 뜨는 현상이 있고, 이는 수정해야할 버그로 생각된다.

일반적으로 shadow plugin이 -1을 리턴하며 종료될 경우, 아래의 코드라인에서 pluginerror를 기록하고 결과적으로 shadow가 -1을 리턴하게 된다.

worker_incrementPluginError();

Plugin에 대한 abort 발생시에는 plugin자체가 return이 되지 않으므로, 위의 코드가 수행되지 않는 문제가 있는 것으로 보인다. abort 처리는 아래의 코드라인에 구현되어 있으므로, 아래의 위치에 worker_incrementPluginError를 추가해주면 될듯 하다.
https://github.com/kaistshadow/shadow/blob/7eeb326e2c7788ca5e86d854f582d607d2c217ab/src/main/host/shd-process.c#L5233-L5239

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions