Сбой при вызове Database.Migrate () во время запуска - PullRequest
0 голосов
/ 26 июня 2019

У меня есть приложение Xamarin Forms, которое использует Entity Framework Core.Когда я запускаю и тестирую на эмуляторе все нормально.Также, когда я запускаю устройство, на котором установлена ​​предыдущая версия, оно работает как положено.Но когда я запускаю приложение на устройстве без данных, оно падает, когда выполняется следующее:

        var context = new EfCoreContext();
        context.Database.Migrate();

Я впервые заметил это, когда предварительные отчеты Google не сработали на 7 из 9 устройств.Ошибка там:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/walleye/walleye:9/PQ2A.190405.003/5310204:user/release-keys'
Revision: 'MP1'
ABI: 'arm64'
pid: 12770, tid: 12770, name: utions.moneyfox  >>> com.applysolutions.moneyfox <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x20
Cause: null pointer dereference
    x0  0000000000000000  x1  0000000000000000  x2  0000000000000000  x3  0000007fec923bd0
    x4  0000007f29ade9a0  x5  0000007fec923c60  x6  0000000000000000  x7  0000000000000000
    x8  0000000000000000  x9  0000000000000000  x10 0000000000000000  x11 0000000000000000
    x12 0000000000000000  x13 0000000000000000  x14 00000000ffffffff  x15 0000000000000000
    x16 0000007f1bd1d1f8  x17 0000007f1bb44670  x18 0000000000000008  x19 0000007f1bd34560
    x20 0000000000000002  x21 0000000000000000  x22 0000000000000000  x23 000000000000007f
    x24 0000000000000000  x25 0000000000000000  x26 0000007fec923d50  x27 0000007f16bdda34
    x28 0000007f29ade000  x29 0000007fec923070
    sp  0000007fec923070  lr  0000007f1ba8b658  pc  0000007f1bb44678
backtrace:
    #00 pc 0000000000177678  /data/app/com.applysolutions.moneyfox-tqWhOmZmoDQ8yd5YLjvTqg==/lib/arm64/libmonosgen-2.0.so (mono_jit_info_get_method+8)

Довольно забавно, когда я удаляю вызов Migrate, запускаю и добавляю его снова, приложение может запуститься.Также в предварительном отчете всегда есть 2 или 3 устройства, которые могут запускать приложение без каких-либо проблем.Я могу представить, что это какая-то временная проблема или что здесь играет какой-то другой эффект.Но сбой происходит по этому вызову независимо от того, где в моем приложении я его поместил.

Я пытался получить больше информации с помощью ловушек try и глобального обработчика ошибок, который должен регистрироваться в моем файле журнала.Но, к сожалению, ничего не поймано.Есть ли способ сузить проблему, может быть основан на журнале ошибок из предварительного отчета?

1 Ответ

0 голосов
/ 27 июня 2019

Хорошо, похоже, это проблема в Xamarin.Android: https://developercommunity.visualstudio.com/content/problem/580820/xamarin-problem-following-update-to-vs2019-161.html

И похоже, что это исправлено в 16.1.4.

...