I've encountered an issue with N1. I load the program for the first time and it goes through the first-run configuration fine, but when it finishes that and the program tries to load the main window, it shows the loading screen (first picture below), then briefly shows the frame set (second picture below) and loops back to the loading screen. I've waited up to 15 minutes for this and it doesn't stop. The window also gets dragged to the foreground, and (on my DE) switches workspaces to the one containing N1 when it switches back to the "loading N1..." screen.
I configured an outlook.com account, a gmail account and an exchange account on different attempts (after clearing ~/.nylas of contents) trying to get the software to work. All accounts encountered the same issue.


Information that may be relevant:
Arch has a package install script for N1 that uses the following .deb:
https://edgehill.s3-us-west-2.amazonaws.com/0.4.10-4e3595b/linux-deb/x64/N1.deb
$ uname -a
Linux arch-laptop 4.4.1-2-ARCH #1 SMP PREEMPT Wed Feb 3 13:12:33 UTC 2016 x86_64 GNU/Linux
$ npm -v
3.7.5
$ node -v
v5.7.0
$ electron -v
v0.36.7
I too am also experiencing this issue. I set up my gmail account and went into an infinite reload loop
$ uname -a
Linux ultron 4.4.1-2-ARCH #1 SMP PREEMPT Wed Feb 3 13:12:33 UTC 2016 x86_64 GNU/Linux
Exact versions as stated above.
Everything was functional till yesterday night but things went bad when my system died on me yesterday. Now my situation is infinite loop:

I see in kernel buffer log, segfault is happening.Something like:
Hey @kyle-brennan and @warmwaffles, I was all set to remove N1 since it became unusable in my situation. As a last attempt, I tried this and it stopped looping. See if it is reproducible on your machine. I have multiple inboxes setup and have all accounts option on top.
But, as soon as I select my gmail account, the looping and seg faulting started again. I am not sure why its so, can you see if you have similar situation.
@bengotow @mbilker Although I can see that there is a mention of it, I want to confirm this. Does N1 use font awesome for any symbols on screen. My gdb output of nylas shows the failure is occurring because of libfreetype and I see this on electron and atom issues (https://github.com/atom/electron/issues/4513).
Hmm interesting - we do use FontAwesome, but in very few places ( I think it's used for the update bar icon?). We'll probably drop it soon in favor of internally designed icons. Would removing it fix the problem? We also use other fonts, like "NylasPro", but FontAwesome is definitely a unique one...
Since that seems to cause the issue, may be removing it would solve the problem. I am not sure though. Interestingly, atom/electron#4513 is a closed issue. They did fix it by loading a patch. Temporarily, my solution for @kyle-brennan and @warmwaffles and anyone with this issue is this:
Download https://archive.archlinux.org/packages/f/freetype2/freetype2-2.6.2-1-x86_64.pkg.tar.xz
And do sudo pacman -U <fileLocation> . Should downgrade your version of this library. Gets N1 back to working state.
Thanks @bashok001 that was my first time installing Nylas on Linux and had this loop problem too after setting up google account.
uname -a
Linux zbookarch 4.4.3-1-ARCH #1 SMP PREEMPT Fri Feb 26 15:09:29 CET 2016 x86_64 GNU/Linux
npm -v
3.8.0
node -v
v5.7.1
Previously installed nylas-n1 from AUR package located here:
https://aur.archlinux.org/packages/n1/
Downgrading freetype like you suggested seems to work.
@bengotow It is also used in the sidebar of messages for the social network icons. I realized I use parts of Font Awesome in Cypher for the Keybase sidebar component.
Unfortunately, to fix this requires an Electron update, which the N1 team is not ready for as of writing this comment.
Same problem here. Arch Linux user.
Can also report that this persist in Antergos (Arch Linux x86_64) both for me and @kasperhdl
This is still an issue with freetype2 2.6.3 on Arch Linux. 2.6.2 works fine. This is fixed by an Electron upgrade, but the bugs with newer Electron versions have not been ironed out.
Hello gentlemen! @andresgabrielrc @Jalict @kasperhdl @varlesh, If you didnt go through, a temp relief I am using is downgrading freetype. Download it from here https://archive.archlinux.org/packages/f/freetype2/freetype2-2.6.2-1-x86_64.pkg.tar.xz and issue,
sudo pacman -U freetype2-2.6.2-1-x86_64.pkg.tar.xz . Will downgrade your freetype version to 2.6.2-1 and Nylas will start working. Either you have to permanently block pacman to upgrade your freetype library back again or keep downgrading it everytime.
@mbilker , @bengotow
https://github.com/behdad/harfbuzz/commit/ca97ea7aa2cb7186f432aaba76f4f151aa90c1d0 is the patch. I understand why nylas team would not want to mess with major version upgrades to Electron but the patch looks pretty simple. Can you consider applying the patch alone? Just wondering.
@bashok001 Harfbuzz is statically compiled into Electron and N1 uses the official builds of Electron, which, unfortunately, use a version of Harfbuzz that does not contain the patch you linked. Electron v0.36.9 contains the Harfbuzz patch, but even minor versions of Electron (example) can contain major changes that may impact the functionality of N1.
@bashok001 Thx, working )
Also i freeze package on /etc/pacman.conf:
IgnorePkg = freetype2
If you want to build from source, change the Electron version in package.json in the root directory of the project to 0.36.8-0.36.11 and you can upgrade the freetype2 version. I developed some PRs that allow N1 to be used on the 0.36.x branch of Electron. 0.37.x is going to need some work.
0.37.x involves a Chromium upgrade to 49 and a V8 version jump that is way ahead of Node v5.9.1.
node -p process.versions.v8
4.6.85.31
ELECTRON_RUN_AS_NODE=1 /usr/bin/electron -p process.versions.v8
4.9.385.28
node -v
v5.9.1
/usr/bin/electron -v
v0.37.2
I'm having the same issue with freetype. With the latest freetype package from the arch repos (2.6.3), I get a segfault on application startup that repeats over and over again about every two seconds. I tried downgrading my freetype package to 2.6.2 as bashok suggested, but the problem persists (with fewer errors in the coredump).
Here's what I'm getting in the kernel logs with the latest freetype (2.6.3):
Apr 06 21:36:22 jm-arch systemd-coredump[5978]: Process 5830 (nylas) of user 1000 dumped core.
Stack trace of thread 5830:
#0 0x000000000316bce3 __libc_malloc (nylas)
#1 0x000000000188e049 n/a (nylas)
#2 0x00007f7dc670d79d ft_mem_qalloc (libfreetype.so.6)
#3 0x00007f7dc670d7f8 ft_mem_alloc (libfreetype.so.6)
#4 0x00007f7dc6757129 n/a (libfreetype.so.6)
#5 0x00007f7dc670e4da FT_Load_Glyph (libfreetype.so.6)
#6 0x00007f7dc670e890 FT_Get_Advances (libfreetype.so.6)
#7 0x0000000001125acc n/a (nylas)
#8 0x0000000001114c71 n/a (nylas)
#9 0x0000000001124876 hb_shape_plan_execute (nylas)
#10 0x00000000011243bb hb_shape (nylas)
#11 0x00007f7dc67579cc af_shaper_get_cluster (libfreetype.so.6)
#12 0x00007f7dc6758ecc n/a (libfreetype.so.6)
#13 0x00007f7dc6759857 n/a (libfreetype.so.6)
#14 0x00007f7dc675717f n/a (libfreetype.so.6)
#15 0x00007f7dc670e4da FT_Load_Glyph (libfreetype.so.6)
#16 0x00007f7dc670e890 FT_Get_Advances (libfreetype.so.6)
#17 0x0000000001125acc n/a (nylas)
#18 0x0000000001114c71 n/a (nylas)
#19 0x0000000001124876 hb_shape_plan_execute (nylas)
#20 0x00000000011243bb hb_shape (nylas)
#21 0x00007f7dc67579cc af_shaper_get_cluster (libfreetype.so.6)
#22 0x00007f7dc6758ecc n/a (libfreetype.so.6)
#23 0x00007f7dc6759857 n/a (libfreetype.so.6)
#24 0x00007f7dc675717f n/a (libfreetype.so.6)
#25 0x00007f7dc670e4da FT_Load_Glyph (libfreetype.so.6)
#26 0x00007f7dc670e890 FT_Get_Advances (libfreetype.so.6)
#27 0x0000000001125acc n/a (nylas)
#28 0x0000000001114c71 n/a (nylas)
#29 0x0000000001124876 hb_shape_plan_execute (nylas)
#30 0x00000000011243bb hb_shape (nylas)
#31 0x00007f7dc67579cc af_shaper_get_cluster (libfreetype.so.6)
#32 0x00007f7dc6758ecc n/a (libfreetype.so.6)
#33 0x00007f7dc6759857 n/a (libfreetype.so.6)
#34 0x00007f7dc675717f n/a (libfreetype.so.6)
#35 0x00007f7dc670e4da FT_Load_Glyph (libfreetype.so.6)
#36 0x00007f7dc670e890 FT_Get_Advances (libfreetype.so.6)
#37 0x0000000001125acc n/a (nylas)
#38 0x0000000001114c71 n/a (nylas)
#39 0x0000000001124876 hb_shape_plan_execute (nylas)
#40 0x00000000011243bb hb_shape (nylas)
#41 0x00007f7dc67579cc af_shaper_get_cluster (libfreetype.so.6)
#42 0x00007f7dc6758ecc n/a (libfreetype.so.6)
#43 0x00007f7dc6759857 n/a (libfreetype.so.6)
#44 0x00007f7dc675717f n/a (libfreetype.so.6)
#45 0x00007f7dc670e4da FT_Load_Glyph (libfreetype.so.6)
#46 0x00007f7dc670e890 FT_Get_Advances (libfreetype.so.6)
#47 0x0000000001125acc n/a (nylas)
#48 0x0000000001114c71 n/a (nylas)
#49 0x0000000001124876 hb_shape_plan_execute (nylas)
#50 0x00000000011243bb hb_shape (nylas)
#51 0x00007f7dc67579cc af_shaper_get_cluster (libfreetype.so.6)
#52 0x00007f7dc6758ecc n/a (libfreetype.so.6)
#53 0x00007f7dc6759857 n/a (libfreetype.so.6)
#54 0x00007f7dc675717f n/a (libfreetype.so.6)
#55 0x00007f7dc670e4da FT_Load_Glyph (libfreetype.so.6)
#56 0x00007f7dc670e890 FT_Get_Advances (libfreetype.so.6)
#57 0x0000000001125acc n/a (nylas)
#58 0x0000000001114c71 n/a (nylas)
#59 0x0000000001124876 hb_shape_plan_execute (nylas)
#60 0x00000000011243bb hb_shape (nylas)
#61 0x00007f7dc67579cc af_shaper_get_cluster (libfreetype.so.6)
#62 0x00007f7dc6758ecc n/a (libfreetype.so.6)
#63 0x00007f7dc6759857 n/a (libfreetype.so.6)
Stack trace of thread 5835:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00000000006bb979 n/a (nylas)
#2 0x0000000001cd8b5e n/a (nylas)
#3 0x0000000001cd89db n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5848:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x000000000150c918 n/a (nylas)
#2 0x00000000014f7705 n/a (nylas)
#3 0x00000000014f79cf n/a (nylas)
#4 0x00000000014eff31 n/a (nylas)
#5 0x0000000003048919 n/a (nylas)
#6 0x00000000030486a3 n/a (nylas)
#7 0x0000000003048605 n/a (nylas)
#8 0x0000000001cb91b0 n/a (nylas)
#9 0x0000000001ca53aa n/a (nylas)
#10 0x0000000001cd92b8 n/a (nylas)
#11 0x0000000001cd5add n/a (nylas)
#12 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#13 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5831:
#0 0x00007f7dc1ab12b3 epoll_wait (libc.so.6)
#1 0x0000000002fae4f8 n/a (nylas)
#2 0x0000000002fac0fe n/a (nylas)
#3 0x0000000001c7ff6e n/a (nylas)
#4 0x0000000001cb91b0 n/a (nylas)
#5 0x0000000001ca53aa n/a (nylas)
#6 0x0000000001cd92b8 n/a (nylas)
#7 0x0000000001cd5add n/a (nylas)
#8 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#9 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5872:
#0 0x00007f7dc7c6a0fd read (libpthread.so.0)
#1 0x00007f7dafeea0c3 _Z14PlatformThreadv (pathwatcher.node)
#2 0x00007f7dc8b277c6 n/a (libnode.so)
#3 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#4 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5833:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00000000006bb979 n/a (nylas)
#2 0x0000000001cd8b5e n/a (nylas)
#3 0x0000000001cd89db n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5851:
#0 0x00007f7dc7c69427 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007f7dc7c694d4 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007f7dc8b27a3c uv_sem_wait (libnode.so)
#3 0x000000000305e260 _ZN4atom12NodeBindings17EmbedThreadRunnerEPv (nylas)
#4 0x00007f7dc8b277c6 n/a (libnode.so)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5834:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00000000006bb979 n/a (nylas)
#2 0x0000000001cd8b5e n/a (nylas)
#3 0x0000000001cd89db n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5869:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007f7dc8b27b96 uv_cond_wait (libnode.so)
#2 0x00007f7dc8b1d363 n/a (libnode.so)
#3 0x00007f7dc8b277c6 n/a (libnode.so)
#4 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#5 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5920:
#0 0x00007f7dc7c673e8 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x0000000001cc8ff4 n/a (nylas)
#2 0x0000000001cdbf86 n/a (nylas)
#3 0x0000000001cdc705 n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5870:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007f7dc8b27b96 uv_cond_wait (libnode.so)
#2 0x00007f7dc8b1d363 n/a (libnode.so)
#3 0x00007f7dc8b277c6 n/a (libnode.so)
#4 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#5 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5868:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007f7dc8b27b96 uv_cond_wait (libnode.so)
#2 0x00007f7dc8b1d363 n/a (libnode.so)
#3 0x00007f7dc8b277c6 n/a (libnode.so)
#4 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#5 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5854:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x0000000001cc93f8 n/a (nylas)
#2 0x0000000001cc92d8 n/a (nylas)
#3 0x0000000001ca72bf n/a (nylas)
#4 0x0000000001cb91b0 n/a (nylas)
#5 0x0000000001ca53aa n/a (nylas)
#6 0x0000000001cd92b8 n/a (nylas)
#7 0x0000000001cd5add n/a (nylas)
#8 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#9 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5910:
#0 0x00007f7dc7c673e8 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x0000000001cc8ff4 n/a (nylas)
#2 0x0000000001cdbf86 n/a (nylas)
#3 0x0000000001cdc705 n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5871:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007f7dc8b27b96 uv_cond_wait (libnode.so)
#2 0x00007f7dc8b1d363 n/a (libnode.so)
#3 0x00007f7dc8b277c6 n/a (libnode.so)
#4 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#5 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5904:
#0 0x00007f7dc7c673e8 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x0000000001cc8ff4 n/a (nylas)
#2 0x0000000001cdbf86 n/a (nylas)
#3 0x0000000001cdc705 n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5850:
#0 0x00007f7dc7c673e8 pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x0000000001cc8ff4 n/a (nylas)
#2 0x0000000001cc93ed n/a (nylas)
#3 0x0000000001ca72b5 n/a (nylas)
#4 0x0000000001cb91b0 n/a (nylas)
#5 0x0000000001ca53aa n/a (nylas)
#6 0x0000000001cd92b8 n/a (nylas)
#7 0x0000000001cd5add n/a (nylas)
#8 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#9 0x00007f7dc1ab0cbd __clone (libc.so.6)
Stack trace of thread 5832:
#0 0x00007f7dc7c6703f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00000000006bb979 n/a (nylas)
#2 0x0000000001cd8b5e n/a (nylas)
#3 0x0000000001cd89db n/a (nylas)
#4 0x0000000001cd5add n/a (nylas)
#5 0x00007f7dc7c61424 start_thread (libpthread.so.0)
#6 0x00007f7dc1ab0cbd __clone (libc.so.6)
Apr 06 21:36:24 jm-arch kernel: nylas[5986]: segfault at 7ffd9e2fbc28 ip 0000000000d26d8a sp 00007ffd9e2fbc30 error 6 in nylas[400000+3890000]
Apr 06 21:36:24 jm-arch systemd[1]: Started Process Core Dump (PID 6110/UID 0).
And here's what I get with freetype-2.6.2:
Apr 06 22:38:48 jm-arch kernel: nylas[8763]: segfault at 7ffd9e2fbc28 ip 0000000000d26d8a sp 00007ffd9e2fbc30 error 6 in nylas[400000+3890000]
Apr 06 22:38:48 jm-arch systemd[1]: Started Process Core Dump (PID 22821/UID 0).
Apr 06 22:38:49 jm-arch systemd-coredump[22822]: Process 8763 (nylas) of user 1000 dumped core.
Stack trace of thread 8763:
#0 0x0000000000d26d8a n/a (nylas)
#1 0x0000000000d27050 n/a (nylas)
#2 0x000000000316bce8 __libc_malloc (nylas)
#3 0x000000000188e049 n/a (nylas)
#4 0x00007f7dc670d79d n/a (/usr/lib/libfreetype.so.6.12.3 (deleted))
I've also attached these as text files.
n1_FT-2.6.3-1_trace.txt
n1_FT-2.6.2-1_trace.txt
Hope this helps and maybe makes it easier for other Googlers like me. :)
Looks like this issue is fixed on the latest version. I'm able to open the application without having the load loop occur.
I just installed today and worked fine until I started getting the infinite refresh loop described above. Tried downgrading freetype using the instructions above, but getting this error "sudo: pacman: command not found".
@abohannon Pacman is the package manager for Arch Linux, if you're running another Linux distro than pacman will be replaced by that distro's package manager.
@abohannon you may run uname -a to know about your linux distro.
If you're on ubuntu, it will be apt-get, but command arguments may be different. Ex for ubuntu:
sudo apt-get install <package-name>=<package-version-number>
If you can't manage to make it work, let us know on which os you have the problem with versions (os, n1, freetype2).
I personally had this issue on Arch Linux, I downgraded freetype2 to version 2.6.2 (and added to upgrade ignore list).
cat /etc/pacman.conf | grep Ignore
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = freetype2
I confirm it works now with freetype2-2.6.4-2-x86_64 and n1-0.4.45-1 so no need to IgnorePkg anymore :tada:
Most helpful comment
Looks like this issue is fixed on the latest version. I'm able to open the application without having the load loop occur.