Does the entire extension crash (there is a notification that says that the extension has crashed)?
If so, the crash is definitely a bug - you can look for an existing similar issue at
crbug.com and if you did not found any, you can create one using the "New issue" link there. You can reply with a link to the found or created issue.
Regarding your goal of shortening the call - in JavaScript, when you assign a method of an object instance/namespace to another object (in this case, the global one - window), you change its context, its this. So onMessage is probably expected not to work, because it requires the right context (chrome.runtime, not window). However -
var onMessage = chrome.runtime.onMessage.addListener.bind(chrome.runtime.onMessage);
Should work in theory, because the context stays intact (this is the purpose of bind - you bind a function to a certain context, instead of the calling context).