{"action":"created","issue":{"url":"https://api.github.com/repos/jflex-de/jflex/issues/133","labels_url":"https://api.github.com/repos/jflex-de/jflex/issues/133/labels{/name}","comments_url":"https://api.github.com/repos/jflex-de/jflex/issues/133/comments","events_url":"https://api.github.com/repos/jflex-de/jflex/issues/133/events","html_url":"https://github.com/jflex-de/jflex/issues/133","id":57721170,"number":133,"title":"[Bug] Error in skeleton.nested [sf#132]","user":{"login":"lsf37","id":5506585,"avatar_url":"https://avatars.githubusercontent.com/u/5506585?v=3","gravatar_id":"","url":"https://api.github.com/users/lsf37","html_url":"https://github.com/lsf37","followers_url":"https://api.github.com/users/lsf37/followers","following_url":"https://api.github.com/users/lsf37/following{/other_user}","gists_url":"https://api.github.com/users/lsf37/gists{/gist_id}","starred_url":"https://api.github.com/users/lsf37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsf37/subscriptions","organizations_url":"https://api.github.com/users/lsf37/orgs","repos_url":"https://api.github.com/users/lsf37/repos","events_url":"https://api.github.com/users/lsf37/events{/privacy}","received_events_url":"https://api.github.com/users/lsf37/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jflex-de/jflex/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"lsf37","id":5506585,"avatar_url":"https://avatars.githubusercontent.com/u/5506585?v=3","gravatar_id":"","url":"https://api.github.com/users/lsf37","html_url":"https://github.com/lsf37","followers_url":"https://api.github.com/users/lsf37/followers","following_url":"https://api.github.com/users/lsf37/following{/other_user}","gists_url":"https://api.github.com/users/lsf37/gists{/gist_id}","starred_url":"https://api.github.com/users/lsf37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsf37/subscriptions","organizations_url":"https://api.github.com/users/lsf37/orgs","repos_url":"https://api.github.com/users/lsf37/repos","events_url":"https://api.github.com/users/lsf37/events{/privacy}","received_events_url":"https://api.github.com/users/lsf37/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/jflex-de/jflex/milestones/9","labels_url":"https://api.github.com/repos/jflex-de/jflex/milestones/9/labels","id":980381,"number":9,"title":"1.6.1","description":"collecting issues for the 1.6.1 maintenance release","creator":{"login":"lsf37","id":5506585,"avatar_url":"https://avatars.githubusercontent.com/u/5506585?v=3","gravatar_id":"","url":"https://api.github.com/users/lsf37","html_url":"https://github.com/lsf37","followers_url":"https://api.github.com/users/lsf37/followers","following_url":"https://api.github.com/users/lsf37/following{/other_user}","gists_url":"https://api.github.com/users/lsf37/gists{/gist_id}","starred_url":"https://api.github.com/users/lsf37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsf37/subscriptions","organizations_url":"https://api.github.com/users/lsf37/orgs","repos_url":"https://api.github.com/users/lsf37/repos","events_url":"https://api.github.com/users/lsf37/events{/privacy}","received_events_url":"https://api.github.com/users/lsf37/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":2,"state":"open","created_at":"2015-02-15T22:19:24Z","updated_at":"2015-02-22T09:11:02Z","due_on":"2015-02-27T13:00:00Z","closed_at":null},"comments":18,"created_at":"2015-02-15T07:11:49Z","updated_at":"2015-02-22T11:53:06Z","closed_at":null,"body":"**Reported by jeningar on 2014-09-23 10:37 UTC**\nHi Steve, hi Gerwin,\r\n\r\nusing the skeleton.nested, the resulting program showed the following behaviour:\r\n\r\necho \"list sessions;\" | sdmsh\r\n\r\nhangs forever. But\r\n\r\necho \"list sessions;\" > /tmp/x\r\nsdmsh < /tmp/x\r\n\r\nteminates as should be.\r\n\r\nAfter merging the skeleton.default and skeleton.nested this erroneous behaviour vanished.\r\n\r\nDiffing the old and new skeleton.nested shows (< == new; > == old):\r\n\r\n~~~~~~~~~~~~~~~~\r\n[ronald@cheetah shell]$ diff skeleton.nested* | more\r\n39c39\r\n< \r\n---\r\n>   \r\n169c169\r\n<     while (numRead == 0) { // bug #130 discussion; while is better than if\r\n---\r\n>     if (numRead == 0) {\r\n403,409d402\r\n<     // cached fields:\r\n<     int zzCurrentPosL;\r\n<     int zzMarkedPosL;\r\n<     int zzEndReadL = zzEndRead;\r\n<     char [] zzBufferL = zzBuffer;\r\n<     char [] zzCMapL = ZZ_CMAP;\r\n< \r\n413c406,411\r\n<       zzMarkedPosL = zzMarkedPos;\r\n---\r\n>       // cached fields:\r\n>       int zzCurrentPosL;\r\n>       int zzMarkedPosL = zzMarkedPos;\r\n>       int zzEndReadL = zzEndRead;\r\n>       char [] zzBufferL = zzBuffer;\r\n>       char [] zzCMapL = ZZ_CMAP;\r\n~~~~~~~~~~~~~~~~\r\n\r\nThe HUGE difference is that the variables (notably zzEndReadL) aren't initialized by skeleton.default in every iteration of the while loop.\r\n\r\nDuring the merge I wondered why there are two skeletons in the first place. Those who don't want to read from multiple streams just don't call yypushStream() and friends. One skeleton would be more than enough (and a link for backward compatibility).\r\n\r\nfor the sake of completeness I attached the new skeleton.nested.\r\n\r\nRegards,\r\n\r\nRonald"},"comment":{"url":"https://api.github.com/repos/jflex-de/jflex/issues/comments/75432014","html_url":"https://github.com/jflex-de/jflex/issues/133#issuecomment-75432014","issue_url":"https://api.github.com/repos/jflex-de/jflex/issues/133","id":75432014,"user":{"login":"lsf37","id":5506585,"avatar_url":"https://avatars.githubusercontent.com/u/5506585?v=3","gravatar_id":"","url":"https://api.github.com/users/lsf37","html_url":"https://github.com/lsf37","followers_url":"https://api.github.com/users/lsf37/followers","following_url":"https://api.github.com/users/lsf37/following{/other_user}","gists_url":"https://api.github.com/users/lsf37/gists{/gist_id}","starred_url":"https://api.github.com/users/lsf37/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsf37/subscriptions","organizations_url":"https://api.github.com/users/lsf37/orgs","repos_url":"https://api.github.com/users/lsf37/repos","events_url":"https://api.github.com/users/lsf37/events{/privacy}","received_events_url":"https://api.github.com/users/lsf37/received_events","type":"User","site_admin":false},"created_at":"2015-02-22T11:53:06Z","updated_at":"2015-02-22T11:53:06Z","body":"ps: the `break` statement should not be necessary with any jflex version, including 1.4.3. If they are, then there is something strange going on that we should investigate."}}