This test fails on green dragon: http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/2538/changes#detail0 <http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/2538/changes#detail0> http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/2538/testReport/junit/lldb-api/functionalities_gdb_remote_client/TestPlatformClient_py/ <http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/2538/testReport/junit/lldb-api/functionalities_gdb_remote_client/TestPlatformClient_py/>
lldb-api.functionalities/gdb_remote_client.TestPlatformClient.py (from lldb-api) Failing for the past 1 build (Since Failed#2538 ) Took 0.66 sec. add description Stacktrace lldb version 10.0.99 (http://labmaster3.local/git/llvm-project.git <http://labmaster3.local/git/llvm-project.git> revision 1edb7e0b6f390b066f5218208a7c8ac974ee243c) clang revision 089a334c39d06e958607e1e8e0c9796f9387f512 llvm revision 089a334c39d06e958607e1e8e0c9796f9387f512 LLDB library dir: /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/bin LLDB import library dir: /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/bin libstdcxx tests will not be run because: Don't know how to build with libstdcxx on macosx Skipping following debug info categories: ['dwo'] Session logs for test failures/errors/unexpected successes will go into directory '/Users/buildslave/jenkins/workspace/lldb-cmake/test/logs' Command invoked: /Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/lldb/test/API/dotest.py --arch=x86_64 -s /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/lldb-test-traces -S nm -u CXXFLAGS -u CFLAGS --executable /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/./bin/lldb --dsymutil /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/./bin/dsymutil --filecheck /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/./bin/FileCheck -C /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/./bin/clang --codesign-identity lldb_codesign --server /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/./bin/debugserver --arch x86_64 --build-dir /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/lldb-test-build.noindex -s=/Users/buildslave/jenkins/workspace/lldb-cmake/test/logs -t --env TERM=vt100 --env LLVM_LIBS_DIR=/Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/./lib --build-dir /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/tools/lldb/lldb-test-build.noindex --lldb-module-cache-dir /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/tools/lldb/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/tools/lldb/lldb-test-build.noindex/module-cache-clang/lldb-api /Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client -p TestPlatformClient.py Change dir to: /Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client runCmd: settings set symbols.enable-external-lookup false output: runCmd: settings set plugin.process.gdb-remote.packet-timeout 60 output: runCmd: settings set symbols.clang-modules-cache-path "/Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/tools/lldb/lldb-test-build.noindex/module-cache-lldb/lldb-api" output: runCmd: settings set use-color false output: runCmd: platform select remote-linux output: Platform: remote-linux Connected: no runCmd: platform connect connect://localhost:52264 <connect://localhost:52264> output: Platform: remote-linux Hostname: (null) Connected: yes WorkingDir: / runCmd: platform process list -x runCmd failed! error: no processes were found on the "remote-linux" platform FAIL: LLDB (/Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/bin/clang-10-x86_64) :: test_process_list_with_all_users (TestPlatformClient.TestPlatformClient) Restore dir to: /Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/tools/lldb/test ====================================================================== FAIL: test_process_list_with_all_users (TestPlatformClient.TestPlatformClient) Test connecting to a remote linux platform ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py", line 30, in test_process_list_with_all_users substrs=["1 matching process was found", "test_process"]) File "/Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2309, in expect inHistory=inHistory) File "/Users/buildslave/jenkins/workspace/lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2068, in runCmd msg if (msg) else CMD_MSG(cmd)) AssertionError: False is not True : Command 'platform process list -x Error output: error: no processes were found on the "remote-linux" platform ' returns successfully Config=x86_64-/Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/bin/clang-10 ---------------------------------------------------------------------- Ran 1 test in 0.040s RESULT: FAILED (0 passes, 1 failures, 0 errors, 0 skipped, 0 expected failures, 0 unexpected successes) Can you please take a look? If you're not available I'll revert the patch later today to get the bots green again. thanks! adrian > On Oct 11, 2019, at 12:41 PM, Walter Erquinigo via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > > Author: wallace > Date: Fri Oct 11 12:41:12 2019 > New Revision: 374584 > > URL: http://llvm.org/viewvc/llvm-project?rev=374584&view=rev > Log: > [platform process list] add a flag for showing the processes of all users > > Summary: > For context: https://reviews.llvm.org/D68293 > > We need a way to show all the processes on android regardless of the user id. > When you run `platform process list`, you only see the processes with the > same user as the user that launched lldb-server. However, it's quite useful > to see all the processes, though, and it will lay a foundation for full apk > debugging support from lldb. > > Before: > ``` > PID PARENT USER TRIPLE NAME > ====== ====== ========== ======================== ============================ > 3234 1 aarch64-unknown-linux-android adbd > 8034 3234 aarch64-unknown-linux-android sh > 9096 3234 aarch64-unknown-linux-android sh > 9098 9096 aarch64-unknown-linux-android lldb-server > (lldb) ^D > ``` > > Now: > ``` > (lldb) platform process list -x > 205 matching processes were found on "remote-android" > PID PARENT USER TRIPLE NAME > ====== ====== ========== ======================== ============================ > 1 0 init > 524 1 init > 525 1 init > 531 1 ueventd > 568 1 logd > 569 1 aarch64-unknown-linux-android servicemanager > 570 1 aarch64-unknown-linux-android hwservicemanager > 571 1 aarch64-unknown-linux-android vndservicemanager > 577 1 aarch64-unknown-linux-android qseecomd > 580 577 aarch64-unknown-linux-android qseecomd > ... > 23816 979 > com.android.providers.calendar > 24600 979 com.verizon.mips.services > 27888 979 com.hualai > 28043 2378 > com.android.chrome:sandboxed_process0 > 31449 979 com.att.shm > 31779 979 com.samsung.android.authfw > 31846 979 > com.samsung.android.server.iris > 32014 979 > com.samsung.android.MtpApplication > 32045 979 com.samsung.InputEventApp > ``` > > Reviewers: labath,xiaobai,aadsm,clayborg > > Subscribers: > > Added: > > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py > Modified: > > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py > lldb/trunk/source/Commands/CommandObjectPlatform.cpp > lldb/trunk/source/Commands/Options.td > > lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp > > Added: > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py?rev=374584&view=auto > ============================================================================== > --- > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py > (added) > +++ > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py > Fri Oct 11 12:41:12 2019 > @@ -0,0 +1,35 @@ > +import lldb > +import binascii > +import os > +from lldbsuite.test.lldbtest import * > +from lldbsuite.test.decorators import * > +from gdbclientutils import * > + > + > +class TestPlatformClient(GDBRemoteTestBase): > + > + def test_process_list_with_all_users(self): > + """Test connecting to a remote linux platform""" > + > + class MyResponder(MockGDBServerResponder): > + def qfProcessInfo(self, packet): > + if "all_users:1" in packet: > + return "pid:10;ppid:1;uid:1;gid:1;euid:1;egid:1;name:" + > binascii.hexlify("/a/test_process") + ";" > + else: > + return "E04" > + > + self.server.responder = MyResponder() > + > + self.runCmd("platform select remote-linux") > + > + try: > + self.runCmd("platform connect connect://localhost:%d" % > + self.server.port) > + self.assertTrue(self.dbg.GetSelectedPlatform().IsConnected()) > + self.expect("platform process list -x", > + substrs=["1 matching process was found", > "test_process"]) > + self.expect("platform process list", > + error=True, > + substrs=["error: no processes were found on the > \"remote-linux\" platform"]) > + finally: > + self.dbg.GetSelectedPlatform().DisconnectRemote() > > Modified: > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py?rev=374584&r1=374583&r2=374584&view=diff > ============================================================================== > --- > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py > (original) > +++ > lldb/trunk/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py > Fri Oct 11 12:41:12 2019 > @@ -160,9 +160,34 @@ class MockGDBServerResponder: > return self.QListThreadsInStopReply() > if packet.startswith("qMemoryRegionInfo:"): > return self.qMemoryRegionInfo() > + if packet == "qQueryGDBServer": > + return self.qQueryGDBServer() > + if packet == "qHostInfo": > + return self.qHostInfo() > + if packet == "qGetWorkingDir": > + return self.qGetWorkingDir() > + if packet == "qsProcessInfo": > + return self.qsProcessInfo() > + if packet.startswith("qfProcessInfo"): > + return self.qfProcessInfo(packet) > > return self.other(packet) > > + def qsProcessInfo(self): > + return "E04" > + > + def qfProcessInfo(self, packet): > + raise "E04" > + > + def qGetWorkingDir(self): > + return "2f" > + > + def qHostInfo(self): > + return "ptrsize:8;endian:little;" > + > + def qQueryGDBServer(self): > + return "E04" > + > def interrupt(self): > raise self.UnexpectedPacketException() > > @@ -171,7 +196,7 @@ class MockGDBServerResponder: > > def vCont(self, packet): > raise self.UnexpectedPacketException() > - > + > def readRegisters(self): > return "00000000" * self.registerCount > > @@ -425,7 +450,6 @@ class MockGDBServer: > class InvalidPacketException(Exception): > pass > > - > class GDBRemoteTestBase(TestBase): > """ > Base class for GDB client tests. > > Modified: lldb/trunk/source/Commands/CommandObjectPlatform.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectPlatform.cpp?rev=374584&r1=374583&r2=374584&view=diff > ============================================================================== > --- lldb/trunk/source/Commands/CommandObjectPlatform.cpp (original) > +++ lldb/trunk/source/Commands/CommandObjectPlatform.cpp Fri Oct 11 12:41:12 > 2019 > @@ -1264,6 +1264,10 @@ protected: > verbose = true; > break; > > + case 'x': > + match_info.SetMatchAllUsers(true); > + break; > + > default: > llvm_unreachable("Unimplemented option"); > } > > Modified: lldb/trunk/source/Commands/Options.td > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/Options.td?rev=374584&r1=374583&r2=374584&view=diff > ============================================================================== > --- lldb/trunk/source/Commands/Options.td (original) > +++ lldb/trunk/source/Commands/Options.td Fri Oct 11 12:41:12 2019 > @@ -591,6 +591,9 @@ let Command = "platform process list" in > def platform_process_list_show_args : Option<"show-args", "A">, > GroupRange<1, 6>, > Desc<"Show process arguments instead of the process executable > basename.">; > + def platform_process_list_all_users: Option<"all-users", "x">, > + GroupRange<1,6>, > + Desc<"Show processes matching all user IDs.">; > def platform_process_list_verbose : Option<"verbose", "v">, GroupRange<1, > 6>, > Desc<"Enable verbose output.">; > } > > Modified: > lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp?rev=374584&r1=374583&r2=374584&view=diff > ============================================================================== > --- > lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp > (original) > +++ > lldb/trunk/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp > Fri Oct 11 12:41:12 2019 > @@ -2176,8 +2176,7 @@ uint32_t GDBRemoteCommunicationClient::F > if (match_info.GetProcessInfo().EffectiveGroupIDIsValid()) > packet.Printf("egid:%u;", > match_info.GetProcessInfo().GetEffectiveGroupID()); > - if (match_info.GetProcessInfo().EffectiveGroupIDIsValid()) > - packet.Printf("all_users:%u;", match_info.GetMatchAllUsers() ? 1 : > 0); > + packet.Printf("all_users:%u;", match_info.GetMatchAllUsers() ? 1 : 0); > if (match_info.GetProcessInfo().GetArchitecture().IsValid()) { > const ArchSpec &match_arch = > match_info.GetProcessInfo().GetArchitecture(); > > > _______________________________________________ > lldb-commits mailing list > lldb-commits@lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits