{"action":"created","issue":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10634","repository_url":"https://api.github.com/repos/RIOT-OS/RIOT","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10634/labels{/name}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10634/comments","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10634/events","html_url":"https://github.com/RIOT-OS/RIOT/issues/10634","id":392268488,"node_id":"MDU6SXNzdWUzOTIyNjg0ODg=","number":10634,"title":"pyterm: weird behaviour with long lines.","user":{"login":"jcarrano","id":3057851,"node_id":"MDQ6VXNlcjMwNTc4NTE=","avatar_url":"https://avatars0.githubusercontent.com/u/3057851?v=4","gravatar_id":"","url":"https://api.github.com/users/jcarrano","html_url":"https://github.com/jcarrano","followers_url":"https://api.github.com/users/jcarrano/followers","following_url":"https://api.github.com/users/jcarrano/following{/other_user}","gists_url":"https://api.github.com/users/jcarrano/gists{/gist_id}","starred_url":"https://api.github.com/users/jcarrano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcarrano/subscriptions","organizations_url":"https://api.github.com/users/jcarrano/orgs","repos_url":"https://api.github.com/users/jcarrano/repos","events_url":"https://api.github.com/users/jcarrano/events{/privacy}","received_events_url":"https://api.github.com/users/jcarrano/received_events","type":"User","site_admin":false},"labels":[{"id":237926357,"node_id":"MDU6TGFiZWwyMzc5MjYzNTc=","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Area:%20tools","name":"Area: tools","color":"6600ff","default":false},{"id":23399098,"node_id":"MDU6TGFiZWwyMzM5OTA5OA==","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Type:%20bug","name":"Type: bug","color":"ffff66","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-12-18T17:53:18Z","updated_at":"2018-12-19T14:25:08Z","closed_at":"2018-12-19T14:25:08Z","author_association":"CONTRIBUTOR","body":"#### Description\r\n\r\nPyterm fails to handle long input lines (more than 64 characters,)\r\n\r\n#### Steps to reproduce the issue\r\n\r\nGo to `tests/shell`. I used a samr21:\r\n\r\n```\r\n$ cd tests/shell\r\n$ BOARD=samr21-xpro make flash term\r\n```\r\n\r\nIn the terminal, type a long line. No output will show up. Then type something else (say, `help`) a gardbage output follows:\r\n\r\n```\r\n$ BOARD=samr21-xpro make term\r\n/home/jcarrano/source/vanillaRIOT/dist/tools/pyterm/pyterm -p \"/dev/ttyACM0\" -b \"115200\"\r\n/home/jcarrano/source/vanillaRIOT/dist/tools/pyterm/pyterm:58: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead\r\n  logging.getLogger(\"\").warn(\"Twisted not available, please install \"\r\nTwisted not available, please install it if you want to use pyterm's JSON capabilities\r\n/home/jcarrano/source/vanillaRIOT/dist/tools/pyterm/pyterm:490: DeprecationWarning: The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in future versions. Use ConfigParser directly instead.\r\n  self.config = configparser.SafeConfigParser()\r\n2018-12-18 18:38:11,397 - INFO # Connect to serial port /dev/ttyACM0\r\nWelcome to pyterm!\r\nType '/exit' to exit.\r\n2018-12-18 18:38:20,745 - INFO # main(): This is RIOT! (Version: 2018.07-devel-885-g77b91-luxemburg-optparse)\r\n2018-12-18 18:38:20,746 - INFO # test_shell.\r\n> sdfwdjewoijoiejdioewdjeoiwdjiowedjeoiwjdewoidjewoidjweoijdioewjdoweidjwoeidjweoijdwoeidjweoidjiwoed\r\nhelp\r\n2018-12-18 18:38:32,852 - INFO #  sdfwdjewoijoiejdioewdjeoiwdjiowedjeoiwjdewoidjewoidjweoijdioewjdM.X��,l��G�Y% �{�z�'���d�Bhelp\r\n2018-12-18 18:38:32,861 - INFO # shell: command not found: sdfwdjewoijoiejdioewdjeoiwdjiowedjeoiwjdewoidjewoidjweoijdioewjd\r\n> \r\n```\r\n\r\nNotice the garbage characters.\r\n\r\n#### Expected results\r\n\r\nUsing another term (I use miniterm.py) gives the expected result:\r\n\r\n```\r\n$ miniterm.py --raw /dev/ttyACM0 115200\r\n--- Miniterm on /dev/ttyACM0  115200,8,N,1 ---\r\n--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---\r\nmain(): This is RIOT! (Version: 2018.07-devel-885-g77b91-luxemburg-optparse)\r\ntest_shell.\r\n> sdfwdjewoijoiejdioewdjeoiwdjiowedjeoiwjdewoidjewoidjweoijdioewjdoweidjwoeidjweoijdwoeidjweoidjiwoed\r\nshell: command not found: sdfwdjewoijoiejdioewdjeoiwdjiowedjeoiwjdewoidjewoidjweoijdioewjdoweidjwoeidjweoijdwoeidjweoidjiwoed\r\n> \r\n> \r\n```\r\n\r\n#### Versions\r\n\r\n```\r\nOperating System Environment\r\n-----------------------------\r\n       Operating System: \"Arch Linux\" \r\n                 Kernel: Linux 4.19.4-arch1-1-ARCH x86_64 unknown\r\n\r\nInstalled compiler toolchains\r\n-----------------------------\r\n             native gcc: gcc (GCC) 8.2.1 20181127\r\n      arm-none-eabi-gcc: arm-none-eabi-gcc (Arch Repository) 8.2.0\r\n                avr-gcc: missing\r\n       mips-mti-elf-gcc: missing\r\n             msp430-gcc: missing\r\n   riscv-none-embed-gcc: missing\r\n                  clang: clang version 7.0.0 (tags/RELEASE_700/final)\r\n\r\nInstalled compiler libs\r\n-----------------------\r\n   arm-none-eabi-newlib: \"3.0.0\"\r\n    mips-mti-elf-newlib: missing\r\nriscv-none-embed-newlib: missing\r\n               avr-libc: missing (missing)\r\n\r\nInstalled development tools\r\n---------------------------\r\n                  cmake: cmake version 3.13.1\r\n               cppcheck: Cppcheck 1.85\r\n                doxygen: 1.8.14\r\n                 flake8: 3.6.0 (mccabe: 0.6.1, pycodestyle: 2.4.0, pyflakes: 2.0.0) CPython 3.7.1 on Linux\r\n                    git: git version 2.20.0\r\n                   make: GNU Make 4.2.1\r\n                openocd: Open On-Chip Debugger 0.10.0\r\n                 python: Python 3.7.1\r\n                python2: Python 2.7.15\r\n                python3: Python 3.7.1\r\n             coccinelle: missing\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments/448613569","html_url":"https://github.com/RIOT-OS/RIOT/issues/10634#issuecomment-448613569","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10634","id":448613569,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0ODYxMzU2OQ==","user":{"login":"jcarrano","id":3057851,"node_id":"MDQ6VXNlcjMwNTc4NTE=","avatar_url":"https://avatars0.githubusercontent.com/u/3057851?v=4","gravatar_id":"","url":"https://api.github.com/users/jcarrano","html_url":"https://github.com/jcarrano","followers_url":"https://api.github.com/users/jcarrano/followers","following_url":"https://api.github.com/users/jcarrano/following{/other_user}","gists_url":"https://api.github.com/users/jcarrano/gists{/gist_id}","starred_url":"https://api.github.com/users/jcarrano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcarrano/subscriptions","organizations_url":"https://api.github.com/users/jcarrano/orgs","repos_url":"https://api.github.com/users/jcarrano/repos","events_url":"https://api.github.com/users/jcarrano/events{/privacy}","received_events_url":"https://api.github.com/users/jcarrano/received_events","type":"User","site_admin":false},"created_at":"2018-12-19T14:25:08Z","updated_at":"2018-12-19T14:25:08Z","author_association":"CONTRIBUTOR","body":"I confirm this is a bug in RIOT and not in pyterm. I have a minimal example. I will close this and open another PR.\r\n\r\n> If that buffer is full, e.g. when receiving bytes faster than the shell can consume them, bytes get dropped.\r\n\r\nIt is not about speed, In my example I lowered the baud rate to 1200 and it is still failing (and even before, it would be very unlikely that the shell could not react fast enough to a mere 11k chars a second)."}}
{"actor":{"display_login":"jcarrano"}}