I've come across a problem with Anisble hanging when trying to start a forever process on an Ansible node.  I have a very simple API server I'm creating in vagrant and provisioning with Ansible like so:
---
- hosts: all
  sudo: yes
  roles:
    - Stouts.nodejs
    - Stouts.mongodb
  tasks:
    - name: Install Make Dependencies
      apt: name={{ item }} state=present
      with_items:
        - gcc
        - make
        - build-essential
    - name: Run NPM Update
      shell: /usr/bin/npm update
    - name: Create MongoDB Database Folder
      shell: /bin/mkdir -p /data/db
      notify:
        - mongodb restart
    - name: Generate Dummy Data
      command: /usr/bin/node /vagrant/dataGen.js
    - name: "Install forever (to run Node.js app)."
      npm: name=forever global=yes state=latest
    - name: "Check list of Node.js apps running."
      command: /usr/bin/forever list
      register: forever_list
      changed_when: false
    - name: "Start example Node.js app."
      command: /usr/bin/forever start /vagrant/server.js
      when: "forever_list.stdout.find('/vagrant/server.js') == -1"
But even though Ansible acts like everything is fine, no forever process is started.  When I change a few lines to remove the when: statement and force it to run, Ansible just hands, possibly running the forever process (forever, I presume) but not launching the VM to where I can interact with it.
I've referenced essentially two points online; the only sources I can find.