)]}'
{"id":"openocd~master~I00966f59b1b5b63f1cdadbc513c23e0202573706","project":"openocd","branch":"master","attention_set":{"1001667":{"account":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"last_update":"2021-11-18 12:55:56.000000000","reason":"Antonio Borneo replied on the change"},"1000000":{"account":{"_account_id":1000000,"name":"Spencer Oliver","email":"spen@spen-soft.co.uk","username":"ntfreak"},"last_update":"2021-11-01 11:44:55.000000000","reason":"Jan Matyas replied on the change"},"1000005":{"account":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"last_update":"2021-11-15 10:50:55.000000000","reason":"Antonio Borneo replied on the change"},"1000853":{"account":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"last_update":"2021-11-06 10:48:35.000000000","reason":"Tomas Vanek replied on the change"},"1000863":{"account":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"last_update":"2021-11-18 11:17:32.000000000","reason":"Jan Matyas replied on the change"}},"removed_from_attention_set":{"1000021":{"account":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"last_update":"2021-11-16 00:53:38.000000000","reason":"Antonio Borneo replied on the change"},"1000410":{"account":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"last_update":"2022-01-28 10:27:07.000000000","reason":"Oleksij Rempel replied on the change"},"1000687":{"account":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"last_update":"2021-11-11 18:38:55.000000000","reason":"Tomas Vanek replied on the change"}},"hashtags":[],"change_id":"I00966f59b1b5b63f1cdadbc513c23e0202573706","subject":"server: Fix socket listen(), do not listen for gdb prematurely","status":"NEW","created":"2021-06-08 07:26:01.000000000","updated":"2022-02-01 10:43:55.000000000","submit_type":"CHERRY_PICK","submittable":false,"total_comment_count":25,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d5c138ae497c7edeeb762bb1c868888011729192","_number":6309,"owner":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"all":[{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000000,"name":"Spencer Oliver","email":"spen@spen-soft.co.uk","username":"ntfreak"},{"_account_id":1000007,"email":"andreas@fritiofson.net"},{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"value":1,"date":"2021-11-11 15:38:38.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"recommended":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"disliked":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000000,"name":"Spencer Oliver","email":"spen@spen-soft.co.uk","username":"ntfreak"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000007,"email":"andreas@fritiofson.net"},{"value":-1,"date":"2022-02-01 10:43:55.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},{"value":1,"date":"2022-01-28 10:27:07.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"value":0,"date":"2021-11-19 09:57:12.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","value":-1,"default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000000,"name":"Spencer Oliver","email":"spen@spen-soft.co.uk","username":"ntfreak"},{"_account_id":1000007,"email":"andreas@fritiofson.net"},{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"}],"CC":[{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-06-08 07:26:38.000000000","updated_by":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"reviewer":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"state":"REVIEWER"},{"updated":"2021-06-08 08:00:15.000000000","updated_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2021-07-01 19:07:23.000000000","updated_by":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"reviewer":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"state":"REVIEWER"},{"updated":"2021-08-24 10:10:52.000000000","updated_by":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"reviewer":{"_account_id":1000007,"email":"andreas@fritiofson.net"},"state":"REVIEWER"},{"updated":"2021-08-24 10:10:52.000000000","updated_by":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"reviewer":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"state":"REVIEWER"},{"updated":"2021-08-24 10:10:53.000000000","updated_by":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"reviewer":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"state":"REMOVED"},{"updated":"2021-11-01 11:44:55.000000000","updated_by":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"reviewer":{"_account_id":1000000,"name":"Spencer Oliver","email":"spen@spen-soft.co.uk","username":"ntfreak"},"state":"REVIEWER"},{"updated":"2021-11-01 11:55:31.000000000","updated_by":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"reviewer":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"state":"REVIEWER"},{"updated":"2021-11-01 11:55:31.000000000","updated_by":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"reviewer":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"state":"REVIEWER"},{"updated":"2021-11-12 22:56:05.000000000","updated_by":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"reviewer":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"state":"REVIEWER"},{"updated":"2021-11-15 10:39:09.000000000","updated_by":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"reviewer":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"state":"CC"}],"messages":[{"id":"6bd3f808f8bcf4ddb742338526a942ec52273aed","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-06-08 07:26:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c7c8f64ff0eb4dd7723bef4f69b1fe2efedfb437","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-06-08 07:27:58.000000000","message":"Patch Set 1:\n\nAndreas, I recall we discussed TCP connections related to jtag_vpi in past. Could you also look at this TCP/listen related bugfix in server.c? Thx.","accounts_in_message":[],"_revision_number":1},{"id":"59542347b6c595e56ab16f520f3cede57fc43aac","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-06-08 08:00:15.000000000","message":"Patch Set 1: Verified+1\n\nBuild Successful \n\nhttp://build.openocd.org/job/openocd-gerrit/14725/ : SUCCESS\n\nhttp://build.openocd.org/job/openocd-gerrit-build/13971/ : SUCCESS","accounts_in_message":[],"_revision_number":1},{"id":"9ebfae9057b2dba6daae5b641d6090e603f340fb","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-06-30 06:24:46.000000000","message":"Patch Set 1:\n\nWho would be a good candidate to review this fix?","accounts_in_message":[],"_revision_number":1},{"id":"299eeb4f65800b0f56329c12471de992d933a668","author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"real_author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"date":"2021-07-01 19:07:23.000000000","message":"Patch Set 1:\n\nWhat\u0027s the scenario? I never ran into this problem to be honest :) And in both cases your connection timed out, right?","accounts_in_message":[],"_revision_number":1},{"id":"197364ea6ca1c01746bf53db007705f4f91bdb1a","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-07-02 06:34:43.000000000","message":"Patch Set 1:\n\n\u003e What\u0027s the scenario?\n\nThis issue becomes visible e.g. when OpenOCD and GDB are used as parts of a larger system - that means both are started by a third program in an automated way. Such a program needs to start OpenOCD first and GDB only when OpenOCD becomes ready to process gdb connections.\n\nThe problem is that the current OpenOCD happily accepts incoming GDB connections almost immediately (right after \"init\") even though it is not ready to speak to GDB yet.\n\nIn another words, there is a \"dead interval\" between the \"init\" command and the end of the startup configuration file(s): the gdb clients can connect, the connection will succeed on the TCP level, but OpenOCD will not talk back to GDB.\n\nThe \"dead interval\" can be very large - for example when loading a large binary to a slow target in the startup script. See the example in the commit message.\n\nSo the problems are:\n\n1) Listening for client connections before we are ready to actually accept them and speak to the them is a bad practice in the networking world in general. OpenOCD should only let the clients in when it is ready to service them (than means, only after server_loop()) is entered. \n\n2) This problem has practical implications - it makes it harder to use OpenOCD in larger systems, because it is not apparent when OpenOCD is ready to talk to the debugger. The gdb port may be open, but that does not mean OpenOCD is ready for gdb.\n\nLet me know if this was understandable or if I should explain it more.\n\n\n \u003e And in both cases your connection timed out, right?\n\nActually, no. \n\nCase 1 - Current OpenOCD:\n\nConnection gets established correctly on the TCP level (can be confirmed using wireshark/tcpdump). But OpenOCD won\u0027t speak to the debugger at all, after some time GDB times out internally.\n\nCase 2 - After the proposed fix:\n\nTCP connection cannot be established until OpenOCD is really ready. If GDB connects too soon, the user gets the proper error message, as is common in the TCP world, when the server is not yet ready. Furthermore, the feedback for the user is clear (connection not esatablished) and quick.","accounts_in_message":[],"_revision_number":1},{"id":"7b992342a964a0a500e1493e3c85a8073e4d63b6","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-08-24 10:10:52.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"1f07da6eb62cb33b10db0171a990a0105a6fd436","tag":"autogenerated:gerrit:deleteReviewer","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-08-24 10:10:53.000000000","message":"Removed reviewer Andreas Fritiofson.","accounts_in_message":[],"_revision_number":1},{"id":"aa246c871472c909a84040fd4bb3cfe7a07d15e4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-01 11:44:01.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"76be53c457277de203e81757389207ef0461a275","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-01 11:55:31.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"263d6cfd108adcd5adb166157dcc21bb6597c381","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-11-01 11:58:32.000000000","message":"Patch Set 2: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/15442/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/14660/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"093970a1d73ba2b4b4c6cdde174d5e698515dac1","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-03 22:04:59.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"ee653ac514a8f79e04d814a403889e6c67d4311d","author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"real_author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"date":"2021-11-06 10:21:14.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"b1a22b379e497d1604d89a2b91f2011d303afb34","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-06 10:48:35.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"4ec4d73b4b1c7d8d366a8d9aebc0fb1858ee8e4a","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-10 09:26:34.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"e881bca152f3f9a79bc2b500a395e1e21427d175","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-11 13:46:58.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"b99d1a6c419b1939b421fa332da9f91d136f1ef3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-11 15:24:37.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"12a857789a76a3b8cce2ecc7baf81472f0d70e1e","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-11 15:27:59.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"042ddca1828dbc28847af4fb7ab17ba3d91eafaa","author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"real_author":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]},"date":"2021-11-11 15:38:38.000000000","message":"Patch Set 3: Verified+1\n\nBuild Successful \n\nhttps://build.openocd.org/job/openocd-gerrit/15503/ : SUCCESS\n\nhttps://build.openocd.org/job/openocd-gerrit-build/14721/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"b9c9590e19b7bc120fd1d66dee6a280ef6c953b1","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-11 18:38:55.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"ec489a4fcf17c021a9a8231399705cf5914f0573","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-12 22:56:05.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"2873ccea395425486ab2141bd1288a5988e2a6d7","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-15 08:36:41.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"935e84adf0ff18b3eff7e8b43adcc9675f89493a","author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"real_author":{"_account_id":1000005,"name":"Andreas Fritiofson","email":"andreas.fritiofson@gmail.com","username":"Nattgris"},"date":"2021-11-15 10:39:09.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f1a9bf12ca5055c31ec53fc0fea57a7be15848f2","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-15 10:50:55.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"d37ea9ff88a092a8a0ad2a1f725a12176820527a","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-15 12:31:02.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"5b3b73617a72bdcabe7b63478776fa77cf35dc7a","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-15 13:51:16.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"3b59e6cd7587dba29157afe86b0218de8006216c","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-15 17:17:55.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"c1d493b6ab0c60917ad6af59bbcdf2bc7d01c5d4","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-15 17:59:07.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"1a87c9c6a5084cf80d507645a83f5d20b337d225","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-15 18:59:47.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"098f33d710ad31a50862170dd408a1845f15baa6","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-15 19:39:53.000000000","message":"Patch Set 3: Code-Review+1\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"83828c4d84169fc7e6ff966c4aa7498aa1d2cd8e","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-16 00:53:38.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"d38177469411f7c288280446414562e4fd14167c","author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"real_author":{"_account_id":1000863,"name":"Tarek BOCHKATI","email":"tarek.bouchkati@gmail.com","username":"BouchkatiTarek"},"date":"2021-11-18 09:15:01.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"09d0cd6e6633e6a5fc421886e0980f086481ab60","author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"real_author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"date":"2021-11-18 11:17:32.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"0371f9027cf82013faf76d33b0e05cf264781277","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2021-11-18 12:55:56.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"9ac1c43b75814ba53a7177eefa75b187f3f1bfed","tag":"autogenerated:gerrit:deleteVote","author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"real_author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"date":"2021-11-19 09:57:12.000000000","message":"Removed Code-Review+1 by Tomas Vanek \u003cvanekt@fbl.cz\u003e\n","accounts_in_message":[],"_revision_number":3},{"id":"6ec41da56971049066ae4db4aaf49fb25c19eca8","author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"real_author":{"_account_id":1000410,"name":"Oleksij Rempel","email":"linux@rempel-privat.de","username":"olerem"},"date":"2022-01-28 10:27:07.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"d5c138ae497c7edeeb762bb1c868888011729192","author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"real_author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"date":"2022-02-01 10:43:55.000000000","message":"Patch Set 3: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3}],"current_revision":"c11eb100fdb2b38a82bdfc85a9356b8924a0ddaa","revisions":{"131420ac649a0027e65d65eb17adeeb96dc9013a":{"kind":"REWORK","_number":1,"created":"2021-06-08 07:26:01.000000000","uploader":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"ref":"refs/changes/09/6309/1","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/09/6309/1","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/1 \u0026\u0026 git checkout -b change-6309 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/09/6309/1","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"bb81ec8bf00f2d8cc0719cef802a367b4dc286e6","subject":"target/startup.tcl: Do not use \u0027Yoda conditions\u0027"}],"author":{"name":"Jan Matyas","email":"matyas@codasip.com","date":"2021-06-08 06:38:03.000000000","tz":120},"committer":{"name":"Jan Matyas","email":"matyas@codasip.com","date":"2021-06-08 07:24:49.000000000","tz":120},"subject":"server: Fix socket listen(), do not listen for gdb prematurely","message":"server: Fix socket listen(), do not listen for gdb prematurely\n\nAvoid the situation when OpenOCD allows incoming clients\nto connect (listen()) but is not yet ready to service them\n(accept() + I/O).\n\nIn current OpenOCD, this issue affected the gdb service:\nGDB clients were permitted to connect even before OpenOCD\nwas able to handle them - gdb succeeded to connect\nbut got no response.\n\nSteps to reproduce:\n\n1) Prepare a .cfg file:\n\njtag newtap ....\ntarget create ....\ninit\nputs \"Simulating long action, e.g. load_image ...\"\nafter 60000\nputs \"Long action completed\".\n\n2) Launch OpenOCD\n\n3) Connect gdb to OpenOCD:\n\n(gdb) target extended-remote localhost:3333\n\n4) Observe the gdb output \u0026 the TCP connection state (wireshark/tcpdump):\n\n4a) OpenOCD without this patch:\n\n(gdb) target extended-remote localhost:3333\nRemote debugging using localhost:3333\nIgnoring packet error, continuing...\nwarning: unrecognized item \"timeout\" in \"qSupported\" response\nIgnoring packet error, continuing...\nRemote replied unexpectedly to \u0027vMustReplyEmpty\u0027: timeout\n\n... GDB connects successfully but gets no response to the usual packets\n\n4b) OpenOCD with this fix:\n\n(gdb) target extended-remote localhost:3333\nlocalhost:3333: Connection timed out.\n\n... Correct behavior: Connection between GDB and OpenOCD cannot be\nestablished until OpenOCD is fully initialized and ready to talk to\nthe GDB client.\n\nChange-Id: I00966f59b1b5b63f1cdadbc513c23e0202573706\nSigned-off-by: Jan Matyas \u003cmatyas@codasip.com\u003e\n"}},"82ba65b0d3063a903731b9b461ac03a848c65809":{"kind":"REWORK","_number":2,"created":"2021-11-01 11:44:01.000000000","uploader":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"ref":"refs/changes/09/6309/2","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/09/6309/2","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/2 \u0026\u0026 git checkout -b change-6309 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/09/6309/2","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"97db87c22eec204edfebd55973ee1211a1dba6d3","subject":"jtag/core: remove unused variable"}],"author":{"name":"Jan Matyas","email":"matyas@codasip.com","date":"2021-06-08 06:38:03.000000000","tz":120},"committer":{"name":"Jan Matyas","email":"matyas@codasip.com","date":"2021-11-01 11:43:44.000000000","tz":60},"subject":"server: Fix socket listen(), do not listen for gdb prematurely","message":"server: Fix socket listen(), do not listen for gdb prematurely\n\nAvoid the situation when OpenOCD allows incoming clients\nto connect (listen()) but is not yet ready to service them\n(accept() + talk to them).\n\nIn current OpenOCD, this issue affected the gdb service:\nGDB clients were permitted to connect even before OpenOCD\nwas able to handle them - gdb succeeded to connect\nbut got no response.\n\nThe issue becomes visible when there is a long-running\noperation in the init script. For instance, loading a large\nbinary to memory via \"load_image\".\n\nSteps to reproduce:\n\n1) Prepare a .cfg file:\n\njtag newtap ....\ntarget create ....\ninit\nputs \"Simulating long action, e.g. load_image ...\"\nafter 60000\nputs \"Long action completed\".\n\n2) Launch OpenOCD\n\n3) Connect gdb to OpenOCD:\n\n(gdb) target extended-remote localhost:3333\n\n4) Observe the gdb output \u0026 the TCP connection state (wireshark/tcpdump):\n\n4a) OpenOCD without this patch:\n\n(gdb) target extended-remote localhost:3333\nRemote debugging using localhost:3333\nIgnoring packet error, continuing...\nwarning: unrecognized item \"timeout\" in \"qSupported\" response\nIgnoring packet error, continuing...\nRemote replied unexpectedly to \u0027vMustReplyEmpty\u0027: timeout\n\n... GDB connects successfully but gets no response to the usual packets\n\n4b) OpenOCD with this fix:\n\n(gdb) target extended-remote localhost:3333\nlocalhost:3333: Connection timed out.\n\n... Correct behavior: Connection between GDB and OpenOCD cannot be\nestablished until OpenOCD is fully initialized and ready to talk to\nthe GDB client.\n\nChange-Id: I00966f59b1b5b63f1cdadbc513c23e0202573706\nSigned-off-by: Jan Matyas \u003cmatyas@codasip.com\u003e\n"}},"c11eb100fdb2b38a82bdfc85a9356b8924a0ddaa":{"kind":"REWORK","_number":3,"created":"2021-11-11 15:24:37.000000000","uploader":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"ref":"refs/changes/09/6309/3","fetch":{"anonymous http":{"url":"https://review.openocd.org/openocd","ref":"refs/changes/09/6309/3","commands":{"Branch":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/3 \u0026\u0026 git checkout -b change-6309 FETCH_HEAD","Checkout":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.openocd.org/openocd refs/changes/09/6309/3","Reset To":"git fetch https://review.openocd.org/openocd refs/changes/09/6309/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"97db87c22eec204edfebd55973ee1211a1dba6d3","subject":"jtag/core: remove unused variable"}],"author":{"name":"Jan Matyas","email":"matyas@codasip.com","date":"2021-06-08 06:38:03.000000000","tz":120},"committer":{"name":"Jan Matyas","email":"matyas@codasip.com","date":"2021-11-11 15:24:10.000000000","tz":60},"subject":"server: Fix socket listen(), do not listen for gdb prematurely","message":"server: Fix socket listen(), do not listen for gdb prematurely\n\nAvoid the situation when OpenOCD allows incoming clients\nto connect (listen()) but is not yet ready to service them\n(accept() + talk to them).\n\nIn current OpenOCD, this issue affected the gdb service:\nGDB clients were permitted to connect even before OpenOCD\nwas able to handle them - gdb succeeded to connect\nbut got no response.\n\nThe issue becomes visible when there is a long-running\noperation in the init script. For instance, loading a large\nbinary to memory via \"load_image\".\n\nSteps to reproduce:\n\n1) Prepare a .cfg file:\n\njtag newtap ....\ntarget create ....\ninit\nputs \"Simulating long action, e.g. load_image ...\"\nafter 60000\nputs \"Long action completed\".\n\n2) Launch OpenOCD\n\n3) Connect gdb to OpenOCD:\n\n(gdb) target extended-remote localhost:3333\n\n4) Observe the gdb output \u0026 the TCP connection state (wireshark/tcpdump):\n\n4a) OpenOCD without this patch:\n\n(gdb) target extended-remote localhost:3333\nRemote debugging using localhost:3333\nIgnoring packet error, continuing...\nwarning: unrecognized item \"timeout\" in \"qSupported\" response\nIgnoring packet error, continuing...\nRemote replied unexpectedly to \u0027vMustReplyEmpty\u0027: timeout\n\n... GDB connects successfully but gets no response to the usual packets\n\n4b) OpenOCD with this fix:\n\n(gdb) target extended-remote localhost:3333\nlocalhost:3333: Connection timed out.\n\n... Correct behavior: Connection between GDB and OpenOCD cannot be\nestablished until OpenOCD is fully initialized and ready to talk to\nthe GDB client.\n\nChange-Id: I00966f59b1b5b63f1cdadbc513c23e0202573706\nSigned-off-by: Jan Matyas \u003cmatyas@codasip.com\u003e\n"}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"NOT_READY","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":1000014,"name":"jenkins","username":"jenkins","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"NEED"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dMAX -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX","-label:Verified\u003dMIN"],"failing_atoms":[]}},{"name":"Code-Review","status":"UNSATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","-label:Code-Review\u003dMIN"]}}]}
