COMMIT after EXPLAIN ANALYZE of a read-only query
It will result in either a


  WARNING:  there is no transaction in progress


or committing a previously started transaction (done by the BEGIN; command or a version of it), which might have included some non-readonly statements, too.

Before running the COMMIT;, you can check if you are in an open transaction from an other connection, issuing 

SELECT * FROM pg_stat_activity WHERE usename = 'your_user';


You'll get (at least) two rows, one reporting exactly this query, and the other your other session.  If the state of the latter says idle in transaction (on version 9.1+), then you are in an open transaction there.  It is hard to tell what was run there beforehand, but you may be able to scroll back through your previous commands stored in your client's history.