Some day I got the following output in logcat while Signal was refreshing my (empty) contact list :
AccountManagerService: insertAccountIntoDatabase: Account {name=Signal, type=org.thoughtcrime.securesms}, skipping since the account already exists
After this, my contact list was still empty, which was very strange.
I found a solution for rooted devices, connect to your phone using adb shell, then run the following commands:
$ su -
# sqlite3 /data/system_ce/0/accounts_ce.db
sqlite> delete from accounts where type = 'org.thoughtcrime.securesms';
Then kill Signal, then relaunch (you may need to remove all data associated to Signal (via Settings > Applications > Signal)
article photography by Mika Andrianoelison at https://www.flickr.com/photos/92781053@N02/15712691511