Я делаю POST-запрос с модификацией, и он генерирует фатальную ошибку сигнала, но это происходит только тогда, когда я добавляю обратный вызов с onResonse, onFailure
методами, если я вызываю .execute
метод вместо .enqueue
, он работает без проблем и выдаетэта ошибка до того, как она достигнет методов обратного вызова.Также найдены похожие посты с той же проблемой, и может быть, это связано с версией Gradle, которую я использую gradle:3.1.2
и модифицирую retrofit:2.4.0
ошибка:
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x3ed6191f0 in tid 5897
Метод отправки:
@FormUrlEncoded
@POST("url")
fun login(@Field("username") username: String, @Field("password") password: String): Call<LoginResponse>
Обратный вызов в очереди:
override fun login(email: String, password: String, callback: LogInDataSource.LogInCallback) {
loginService.login(email, password).enqueue(object : Callback<LoginResponse>{
override fun onFailure(call: Call<LoginResponse>?, t: Throwable?) {
callback.onLoginFailed()
}
override fun onResponse(call: Call<LoginResponse>?, response: Response<LoginResponse>?) {
if (response?.body() != null){
callback.onLoginSuccess(response.body()!!)
}else{
callback.onLoginFailed()
}
}
})
}
Класс данных LoginResponse:
data class LoginResponse(var token: String = "")
Ответ:
{
"token": "adasdasdfdsf",
"user_email": "asdasd@gmail.com",
"user_nicename": "asdasdgmail-com",
"user_display_name": "asdasd@gmail.com"
}