All the above suggestions are very worthwhile and I could not agree more with @KH99. Usually, that error occurs in php 5.4 with the slight strengthening of data-type checking. Typically in vbulletin it is because we are sending a string, when we are asking for an array, or vice-versa. In most cases you just suppress the warning.
If you are using php v5.4 you should be using vb4.2.2, as vb4.2.1 was never vetted for PHP v5.4, by vBulletin.
Check your logs and investigate why PHP is reporting an improper line number as @KH99 suggested.