- Electron version: 0.37.7
- Operating system: MacOS 10.11.4

Create a directory with the attached `package.json` and `main.js` files. The app just calls `app.makeSingleInstance` (code sample copied from the Electron docs) and then creates an empty window.

[package.json.txt](https://github.com/electron/electron/files/233556/package.json.txt)
[main.js.txt](https://github.com/electron/electron/files/233558/main.js.txt)

Type:

```
    rm -rf ~/Library/Application\ Support/Electron
    npm start
```

The app will display

```
    ### version 0.37.7
    ### shouldQuit:  true
```

...even though no other instance is running.

If you create an empty ~/Library/Application\ Support/Electron directory, the app runs as expected.

(Obviously, any established Electron developer will have such a directory and will not notice this bug. Their users will notice it very quickly indeed.)

chromium_src/chrome/browser/process_singleton_posix.cc
LOG(ERROR) << "Invalid socket message (wrong length):" << buf_;
    CleanupAndDeleteSelf();
    return;
  }
  std::string str(buf_, bytes_read_);
  std::vector<std::string> tokens = base::SplitString(
      str, std::string(1, kTokenDelimiter),
      base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
  if (tokens.size() < 3 || tokens[0] != kStartToken) {
    LOG(ERROR) << "Wrong message format: " << str;
    CleanupAndDeleteSelf();
    return;
  }
  
  
  timer_.Stop();
  std::string current_dir = tokens[1];
  
  
  tokens.erase(tokens.begin());
  tokens.erase(tokens.begin());
  
  ui_message_loop_->task_runner()->PostTask(
      FROM_HERE, base::Bind(&ProcessSingleton::LinuxWatcher::HandleMessage,
                            parent_, current_dir, tokens, this));
  fd_reader_.StopWatchingFileDescriptor();
  
  
}
void ProcessSingleton::LinuxWatcher::SocketReader::FinishWithACK(