jackalope/jackalope — Issue #94: Possible recursion bug
Author: igorw
Created: 2012-02-23 09:47:49+00:00
State: open

I was trying to run a script that imports data into jackrabbit. After running for a very long time, at some point it died due to memory exhaustion.

The stack trace looked a bit suspicious, since there's 1200 calls to the same functions over and over. It looks like a potential recursion bug.

The tail of the stack trace:

967.7610 990701032 1165. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
967.7610 990701032 1166. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
967.7611 990701032 1167. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
967.8066 996698872 1168. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
967.8067 996698872 1169. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
967.8067 996698872 1170. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
967.8067 996698872 1171. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
967.8555 1002716904 1172. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
967.8556 1002716904 1173. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
967.8556 1002716904 1174. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
967.8556 1002716904 1175. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
967.9026 1008754872 1176. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
967.9026 1008754872 1177. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
967.9026 1008754872 1178. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
967.9027 1008754872 1179. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
967.9517 1014813064 1180. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
967.9518 1014813064 1181. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
967.9518 1014813064 1182. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
967.9518 1014813064 1183. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
967.9997 1020891704 1184. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
967.9998 1020891704 1185. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
967.9998 1020891704 1186. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
967.9998 1020891704 1187. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
968.0897 1026990200 1188. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
968.0898 1026990200 1189. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
968.0903 1027514048 1190. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
968.0903 1027514048 1191. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
968.1374 1033632624 1192. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
968.1375 1033632624 1193. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
968.1375 1033632624 1194. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
968.1375 1033632624 1195. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
968.1869 1039771320 1196. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
968.1870 1039771320 1197. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
968.1870 1039771320 1198. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
968.1870 1039771320 1199. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
968.2343 1045930232 1200. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
968.2343 1045930232 1201. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
968.2343 1045930232 1202. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
968.2344 1045930232 1203. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
968.3044 1052109176 1204. Jackalope\ObjectManager->purgeDisappearedNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:986
968.3045 1052109176 1205. Jackalope\Node->getIdentifier() /Users/me/project/vendor/jackalope/src/Jackalope/ObjectManager.php:1518
968.3045 1052109176 1206. Jackalope\Item->checkState() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:580
968.3045 1052109176 1207. Jackalope\Node->refresh() /Users/me/project/vendor/jackalope/src/Jackalope/Item.php:522
968.3046 1052109512 1208. Jackalope\Transport\Jackrabbit\Client->getNode() /Users/me/project/vendor/jackalope/src/Jackalope/Node.php:982

Contact me for more details.