The Gaza Strip is in the grip of anarchy and Palestinians must stop blaming Israel for all their problems, a senior Hamas figure has said.
Security forces have struggled to contain the lawlessness
Ghazi Hamad, chief spokesman for the Hamas government, said the hope that followed Israel's pull-out last year had been replaced with "a nightmare".
Gaza is at the mercy of thugs, he said, and pleaded for an end to deadly clan rivalries. "Let Gaza breathe," he said.
Such frank self-criticism is rare among Palestinian leaders, analysts say.
Mr Hamad's comments came in an article, which was published in Palestinian newspapers on Monday.
He said they were his own views and did not represent the position of his government.
"I am not interested in discussing the ugliness and brutality of the occupation because it is not a secret. Instead, I prefer self-criticism and self evaluation," Mr Hamad wrote.
He said life in Gaza City now involved "unimaginable chaos, careless policemen, young men carrying guns and strutting with pride, and families receiving condolences for their dead in the middle of the street."
And he was also critical of militants who fire crudely-made rockets into Israel, saying ordinary Palestinians paid a high price when Israel responded militarily to such attacks.
Mr Hamad said Gazans should stop laying the blame for their mistakes at the door of the Israeli occupation.
"Our extreme joy at their departure made us forget the most important question: What is our next step?" he went on.
Hamas swept to power in elections in January and promised to bring law and order to the Gaza Strip.
Mr Hamad's remarks would seem to be an admission that it has completely failed to do so, the BBC's Alan Johnston in the West Bank says.
But he adds that the best government in the world would have struggled to cope with Gaza's overwhelming social and economic problems.
Hamas has also been paralysed by the crushing Western and Israeli economic boycott imposed because it has refused to renounce violence and accept Israel's right to exist.