Browse Source
This moves field initialization into plugins_new(), and adds a memleak helper to search the request map: =================================== ERRORS ==================================== ___________________ ERROR at teardown of test_plugin_command ___________________ [gw0] linux -- Python 3.7.1 /opt/python/3.7.1/bin/python3.7 > lambda: ihook(item=item, **kwds), when=when, ) ../../../.local/lib/python3.7/site-packages/flaky/flaky_pytest_plugin.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/fixtures.py:112: in node_factory ok = nf.killall([not n.may_fail for n in nf.nodes]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <utils.NodeFactory object at 0x7f873b245278>, expected_successes = [True] def killall(self, expected_successes): """Returns true if every node we expected to succeed actually succeeded"" unexpected_fail = False for i in range(len(self.nodes)): leaks = None # leak detection upsets VALGRIND by reading uninitialized mem. # If it's dead, we'll catch it below. if not VALGRIND: try: # This also puts leaks in log. leaks = self.nodes[i].rpc.dev_memleak()['leaks'] except Exception: pass try: self.nodes[i].stop() except Exception: if expected_successes[i]: unexpected_fail = True if leaks is not None and len(leaks) != 0: raise Exception("Node {} has memory leaks: {}".format( self.nodes[i].daemon.lightning_dir, > json.dumps(leaks, sort_keys=True, indent=4) )) E Exception: Node /tmp/ltests-qm87my20/test_plugin_command_1/lightnng-1/ has memory leaks: [ E { E "backtrace": [ E "ccan/ccan/tal/tal.c:437 (tal_alloc_)", E "lightningd/jsonrpc.c:1112 (jsonrpc_request_start_)", E "lightningd/plugin.c:1041 (plugin_config)", E "lightningd/plugin.c:1072 (plugins_config)", E "lightningd/plugin.c:846 (plugin_manifest_cb)", E "lightningd/plugin.c:252 (plugin_response_handle)", E "lightningd/plugin.c:342 (plugin_read_json_one)", E "lightningd/plugin.c:367 (plugin_read_json)", E "ccan/ccan/io/io.c:59 (next_plan)", E "ccan/ccan/io/io.c:407 (do_plan)", E "ccan/ccan/io/io.c:417 (io_ready)", E "ccan/ccan/io/poll.c:445 (io_loop)", E "lightningd/io_loop_with_timers.c:24 (io_loop_with_tiers)", E "lightningd/lightningd.c:840 (main)" E ], E "label": "lightningd/jsonrpc.c:1112:struct jsonrpc_reques", E "parents": [ E "lightningd/plugin.c:66:struct plugin", E "lightningd/lightningd.c:103:struct lightningd" E ], E "value": "0x55d6385e4088" E }, E { E "backtrace": [ E "ccan/ccan/tal/tal.c:437 (tal_alloc_)", E "lightningd/jsonrpc.c:1112 (jsonrpc_request_start_)", E "lightningd/plugin.c:1041 (plugin_config)", E "lightningd/plugin.c:1072 (plugins_config)", E "lightningd/plugin.c:846 (plugin_manifest_cb)", E "lightningd/plugin.c:252 (plugin_response_handle)", E "lightningd/plugin.c:342 (plugin_read_json_one)", E "lightningd/plugin.c:367 (plugin_read_json)", E "ccan/ccan/io/io.c:59 (next_plan)", E "ccan/ccan/io/io.c:407 (do_plan)", E "ccan/ccan/io/io.c:417 (io_ready)", E "ccan/ccan/io/poll.c:445 (io_loop)", E "lightningd/io_loop_with_timers.c:24 (io_loop_with_tiers)", E "lightningd/lightningd.c:840 (main)" E ], E "label": "lightningd/jsonrpc.c:1112:struct jsonrpc_reques", E "parents": [ E "lightningd/plugin.c:66:struct plugin", E "lightningd/lightningd.c:103:struct lightningd" E ], E "value": "0x55d6386529d8" E } E ] Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>travis-debug
Rusty Russell
5 years ago
committed by
Christian Decker
1 changed files with 11 additions and 2 deletions
Loading…
Reference in new issue