{"action":"closed","issue":{"url":"https://api.github.com/repos/servo/servo/issues/14171","repository_url":"https://api.github.com/repos/servo/servo","labels_url":"https://api.github.com/repos/servo/servo/issues/14171/labels{/name}","comments_url":"https://api.github.com/repos/servo/servo/issues/14171/comments","events_url":"https://api.github.com/repos/servo/servo/issues/14171/events","html_url":"https://github.com/servo/servo/issues/14171","id":188748133,"number":14171,"title":"Debugger update broke the Android build","user":{"login":"mmatyas","id":4354863,"avatar_url":"https://avatars.githubusercontent.com/u/4354863?v=3","gravatar_id":"","url":"https://api.github.com/users/mmatyas","html_url":"https://github.com/mmatyas","followers_url":"https://api.github.com/users/mmatyas/followers","following_url":"https://api.github.com/users/mmatyas/following{/other_user}","gists_url":"https://api.github.com/users/mmatyas/gists{/gist_id}","starred_url":"https://api.github.com/users/mmatyas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmatyas/subscriptions","organizations_url":"https://api.github.com/users/mmatyas/orgs","repos_url":"https://api.github.com/users/mmatyas/repos","events_url":"https://api.github.com/users/mmatyas/events{/privacy}","received_events_url":"https://api.github.com/users/mmatyas/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2016-11-11T12:16:32Z","updated_at":"2016-11-19T06:55:42Z","closed_at":"2016-11-19T06:55:42Z","body":"[A few days ago](https://github.com/servo/servo/commit/c8c5254f8b783a685308381477303d4e50f2dad4) `rust-websocket` was replaced with `ws-rs` in the debugger, and this change breaks the Android build currently.\r\n\r\n`ws-rs` depends on `mio`, which in turn depends on `nix`, a dependency that wants to use the kernel signal definitions. It tries to create a `sigaction` structure [here](https://github.com/nix-rust/nix/blob/master/src/sys/signal.rs#L326); the problem is that the type of `sa_flags` is architecture-dependent (`int`, `unsigned int` or `unsigned long`, see [here](https://github.com/rust-lang/libc/search?q=sa_flags)), but `nix` defines it as an `int` [here](https://github.com/nix-rust/nix/blob/master/src/sys/signal.rs#L198). (Note: we're using an older `nix` currently, but the problem still exists upstream).\r\n\r\nIn addition, it seems the type of the flags are defined incorrectly in `libc` too, as for example some of the possible flags are defined globally for `notbsd` targets as `int ` [here](https://github.com/rust-lang/libc/blob/master/src/unix/notbsd/mod.rs#L485), despite that for other values  `ulong` is used for `notbsd/ android`, `int` for `notbsd/linux/other`, and the remaining flags are not even defined for `notbsd/linux/musl`.\r\n\r\nRelated/blocks: #13154\r\ncc @larsbergstrom "}}
{"actor":{"display_login":"bors-servo"}}