Hi,
- 
In the serial examples SimpleRead has the “…new Serial…” in setup while yours is in the global area at the top. I don’t know if that makes any difference. 
- 
portName = Serial.list()[0]; - this assumes that your device is first in the list. With the coming and going of Ardino(s) and other devices yours might not be the first. Try printing the list, or hard-coding the name e.g. portName = “COM32”. (Cheaper so-called Arduinos with the Chinese CH340 chip can change their com name depending on which usb socket they are plugged in.) 
- 
When your Processing program starts, it opens the port, which will reset the Arduino, and presumably, after a set time, it will start sending serial. Is the processing program ready by then? Try a delay before Ard starts sending to make sure Processing is ready. 
Richard