Skip to content

CSPOT remote WooFPut segfault when target woof does not exist #16

@garethgeorge

Description

@garethgeorge

When running
idx = woof.put("woof://localhost:53933/%s/%s" % (funcname, constants.WOOF_NAME), constants.HANDLER_NAME, elstr). Once the target woof has been created, the application no longer segfaults.

the backtrace from gdb is

#0  0x00007ffff6a7e510 in __memcpy_ssse3 () from /lib64/libc.so.6
#1  0x00007ffff7613a11 in zframe_new (data=0xa1f2a0, size=4294967295) at src/zframe.c:62
#2  0x000000000040bc5e in WooFMsgPut (woof_name=0x7fffe8c91270 "woof://localhost:53933/add/lambda_woof", hand_name=0x7fffee1a62e0 "awspy_lambda", element=0xa1f2a0, el_size=4294967295) at woofc-access.c:2229
#3  0x00000000004069f9 in WooFPut (wf_name=0x7fffe8c91270 "woof://localhost:53933/add/lambda_woof", hand_name=0x7fffee1a62e0 "awspy_lambda", element=0xa1f2a0) at woofc.c:685
#4  0x0000000000405458 in woof_put (self=<optimized out>, args=<optimized out>) at pywoof.c:53
#5  0x00007ffff71bdb68 in _PyCFunction_FastCallDict () from /lib64/libpython3.6m.so.1.0
#6  0x00007ffff72334f3 in call_function () from /lib64/libpython3.6m.so.1.0
(the rest of the trace continues into the depths of the python interpreter so I have omitted it)

The console output from the client (with #define DEBUG) is

func name:  add
request args:  {}
WooFCreate: opened /result-b0aa8cfc-a4d1-4cb7-8aad-0badebfdc039 with inode 1119515
string for woof: '{"function": "add", "result_woof": "result-b0aa8cfc-a4d1-4cb7-8aad-0badebfdc039", "context": null}{"a": 14,"b": 22}'
WooFPut: called woof://localhost:53933/add/lambda_woof awspy_lambda
WE SUSPECT THAT IT IS A REMOTE PUT
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof trying enpoint >tcp://127.0.0.1:53933
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof got new msg
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof got WOOF_MSG_GET_EL_SIZE command frame frame
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof got woof_name namespace frame
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof added woof_name namespace to frame
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof sending message to server at >tcp://127.0.0.1:53933
WooFMsgGetElSize: woof: woof://localhost:53933/add/lambda_woof recvd size: 4294967295 message from server at >tcp://127.0.0.1:53933
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof trying enpoint >tcp://127.0.0.1:53933
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof got new msg
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof got WOOF_MSG_PUT command frame frame
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof got woof_name namespace frame
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof added woof_name namespace to frame
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof got frame for handler name awspy_lambda
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof appended frame for handler name awspy_lambda
WooFMsgPut: woof: woof://localhost:53933/add/lambda_woof for new frame for 0x21baf70, size 4294967295
[1]    6481 segmentation fault  ./awsapi_client

and the output from woofc-namespace-platform is

starting platform listening to port 53933
woofc-container: started message server
WooFOpen: couldn't open woof: /add/lambda_woof
WooFProcessGetElSize: couldn't open lambda_woof (woof://localhost:53933/add/lambda_woof

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions