More debugging… running a strace on Unity once the freeze begins, this loops endlessly until a segfault (at end) occurrs:
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
close(68) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
getcwd(“/home/geiger/git/test”, 261) = 22
stat(“/home/geiger/git/test/Assets/Plugins/UnityPurchasing/Resources”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
lstat(“/home/geiger/git/test/Assets/Plugins/UnityPurchasing/Resources”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
open(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, O_RDONLY) = 68
fstat(68, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
semop(1507329, [{3, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
semop(1507329, [{3, 1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
fstat(68, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
read(68, “{"androidStore":"GooglePlay"}”, 4096) = 29
read(68, “”, 4096) = 0
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
close(68) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
getcwd(“/home/geiger/git/test”, 261) = 22
stat(“/home/geiger/git/test/Assets/Plugins/UnityPurchasing/Resources”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
lstat(“/home/geiger/git/test/Assets/Plugins/UnityPurchasing/Resources”, {st_mode=S_IFDIR|0755, st_size=4096, …}) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
stat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
lstat(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
open(“Assets/Plugins/UnityPurchasing/Resources/BillingMode.json”, O_RDONLY) = 68
fstat(68, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
semop(1507329, [{3, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
semop(1507329, [{3, 1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
fstat(68, {st_mode=S_IFREG|0664, st_size=29, …}) = 0
read(68, “{"androidStore":"GooglePlay"}”, 4096) = 29
read(68, “”, 4096) = 0
semop(1507329, [{2, -1, SEM_UNDO}], 1) = 0
semop(1507329, [{2, 1, SEM_UNDO}], 1) = 0
close(68) = 0
— SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7fffef683cb8} —
— SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} —
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)