{"action":"created","issue":{"url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby/issues/22","repository_url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby","labels_url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby/issues/22/comments","events_url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby/issues/22/events","html_url":"https://github.com/RubyDevInc/paho.mqtt.ruby/issues/22","id":304508287,"number":22,"title":"Thread abort after exception","user":{"login":"arizz96","id":15550185,"avatar_url":"https://avatars3.githubusercontent.com/u/15550185?v=4","gravatar_id":"","url":"https://api.github.com/users/arizz96","html_url":"https://github.com/arizz96","followers_url":"https://api.github.com/users/arizz96/followers","following_url":"https://api.github.com/users/arizz96/following{/other_user}","gists_url":"https://api.github.com/users/arizz96/gists{/gist_id}","starred_url":"https://api.github.com/users/arizz96/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arizz96/subscriptions","organizations_url":"https://api.github.com/users/arizz96/orgs","repos_url":"https://api.github.com/users/arizz96/repos","events_url":"https://api.github.com/users/arizz96/events{/privacy}","received_events_url":"https://api.github.com/users/arizz96/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-03-12T19:26:02Z","updated_at":"2018-04-15T23:58:41Z","closed_at":null,"author_association":"NONE","body":"Hi,\r\nduring my tests, an exception has been raised and the MQTT client died after it.\r\nThis line https://github.com/RubyDevInc/paho.mqtt.ruby/blob/c37bc2ebaa61b0c021a6177f09e04582300d0284/lib/paho-mqtt.rb#L103 force the thread to be aborted if some exception is raised.\r\nDo you consider it correct?\r\nOr maybe there are some exception that should be handled in some other ways. For example, if the packed body length is over 256MB, is it ok to kill the client permanently?\r\n\r\nI'm still investigating on my error, that raised an `Invalid packet type identifier` and I'm not able to find out why, but the problem is that an error like this can block the whole application logic."},"comment":{"url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby/issues/comments/381448447","html_url":"https://github.com/RubyDevInc/paho.mqtt.ruby/issues/22#issuecomment-381448447","issue_url":"https://api.github.com/repos/RubyDevInc/paho.mqtt.ruby/issues/22","id":381448447,"user":{"login":"p-goudet","id":18257215,"avatar_url":"https://avatars1.githubusercontent.com/u/18257215?v=4","gravatar_id":"","url":"https://api.github.com/users/p-goudet","html_url":"https://github.com/p-goudet","followers_url":"https://api.github.com/users/p-goudet/followers","following_url":"https://api.github.com/users/p-goudet/following{/other_user}","gists_url":"https://api.github.com/users/p-goudet/gists{/gist_id}","starred_url":"https://api.github.com/users/p-goudet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p-goudet/subscriptions","organizations_url":"https://api.github.com/users/p-goudet/orgs","repos_url":"https://api.github.com/users/p-goudet/repos","events_url":"https://api.github.com/users/p-goudet/events{/privacy}","received_events_url":"https://api.github.com/users/p-goudet/received_events","type":"User","site_admin":false},"created_at":"2018-04-15T23:58:41Z","updated_at":"2018-04-15T23:58:41Z","author_association":"CONTRIBUTOR","body":"Sorry for this late answer.\r\nI am still working on the exception handler for packet with invalid format (which to be the cause of error). Basically, any packet with invalid format raise a exception. For most case the invalid packet should be ignore to not block the application logic. However, in some case, it would raise a protocol violation which would shut down the current connection. If the client is configured in persistent mode, it would try to automatically try to reconnect. \r\nI am currently writing the spec (that were missing) for the packet parsing part."}}
{"actor":{"display_login":"p-goudet"}}