{"action":"opened","issue":{"url":"https://api.github.com/repos/facebook/hhvm/issues/6802","repository_url":"https://api.github.com/repos/facebook/hhvm","labels_url":"https://api.github.com/repos/facebook/hhvm/issues/6802/labels{/name}","comments_url":"https://api.github.com/repos/facebook/hhvm/issues/6802/comments","events_url":"https://api.github.com/repos/facebook/hhvm/issues/6802/events","html_url":"https://github.com/facebook/hhvm/issues/6802","id":131087683,"number":6802,"title":"SplDoublyLinkedList: clone's behaviour should mimic PHP5","user":{"login":"afk11","id":5617245,"avatar_url":"https://avatars.githubusercontent.com/u/5617245?v=3","gravatar_id":"","url":"https://api.github.com/users/afk11","html_url":"https://github.com/afk11","followers_url":"https://api.github.com/users/afk11/followers","following_url":"https://api.github.com/users/afk11/following{/other_user}","gists_url":"https://api.github.com/users/afk11/gists{/gist_id}","starred_url":"https://api.github.com/users/afk11/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/afk11/subscriptions","organizations_url":"https://api.github.com/users/afk11/orgs","repos_url":"https://api.github.com/users/afk11/repos","events_url":"https://api.github.com/users/afk11/events{/privacy}","received_events_url":"https://api.github.com/users/afk11/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-03T17:00:11Z","updated_at":"2016-02-03T17:00:11Z","closed_at":null,"body":"Discovered an issue in HHVM's reimplementation of SplDoublyLinkedList. It appears because it relies on SplDoublyLinkedNode's, a deep clone is required to prevent the clone from being mutated post creation. \r\n\r\nIn PHP, the SplDoublyLinkedList class comes from the SPL extension written in C. I suspect the divergence comes from reimplementing in PHP/HHVM, and cloning without special handling (since the internals are totally different)\r\n\r\nI will follow up with a pull request 'fixing this' as best I see it. Raising the issue to remind me and to request feedback on this. "}}