Steps to reproduce (with the latest lp:compiz):
1. Open a nautilus window.
2. Use Ctrl+N to keep opening more windows.
Expected: Windows keep opening.
Observed: After a dozen or two windows are opened, compiz crashes in the place plugin:
(gdb) bt
#0 geometry (this=0x91) at /home/dan/bzr/compiz/trunk/plugins/place/src/smart/include/smart.h:47
#1 compareTopmost (a=0x18626c8, b=0x91) at /home/dan/bzr/compiz/trunk/plugins/place/src/place.cpp:263
#2 0x00007fbca4a0c273 in __unguarded_partition<__gnu_cxx::__normal_iterator<compiz::place::Placeable**, std::vector<compiz::place::Placeable*> >, compiz::place::Placeable*, bool (*)(compiz::place::Placeable*, compiz::place::Placeable*)> (
__pivot=@0x1a99e00: 0x18626c8, __comp=0x7fbca4a06060 <compareTopmost(compiz::place::Placeable*, compiz::place::Placeable*)>, __last=..., __first=...) at /usr/include/c++/4.6/bits/stl_algo.h:2236
#3 __unguarded_partition_pivot<__gnu_cxx::__normal_iterator<compiz::place::Placeable**, std::vector<compiz::place::Placeable*> >, bool (*)(compiz::place::Placeable*, compiz::place::Placeable*)> (
__comp=0x7fbca4a06060 <compareTopmost(compiz::place::Placeable*, compiz::place::Placeable*)>, __last=..., __first=...) at /usr/include/c++/4.6/bits/stl_algo.h:2265
#4 std::__introsort_loop<__gnu_cxx::__normal_iterator<compiz::place::Placeable**, std::vector<compiz::place::Placeable*, std::allocator<compiz::place::Placeable*> > >, long, bool (*)(compiz::place::Placeable*, compiz::place::Placeable*)>
(__first=..., __last=..., __depth_limit=7, __comp=0x7fbca4a06060 <compareTopmost(compiz::place::Placeable*, compiz::place::Placeable*)>) at /usr/include/c++/4.6/bits/stl_algo.h:2306
#5 0x00007fbca4a08fe9 in sort<__gnu_cxx::__normal_iterator<compiz::place::Placeable**, std::vector<compiz::place::Placeable*> >, bool (*)(compiz::place::Placeable*, compiz::place::Placeable*)> (
__comp=0x7fbca4a06060 <compareTopmost(compiz::place::Placeable*, compiz::place::Placeable*)>, __last=..., __first=...) at /usr/include/c++/4.6/bits/stl_algo.h:5445
#6 PlaceWindow::cascadeFindFirstFit (this=0x1882530, placeables=..., workArea=..., pos=...) at /home/dan/bzr/compiz/trunk/plugins/place/src/place.cpp:833
#7 0x00007fbca4a0989a in PlaceWindow::placeCascade (this=0x1882530, workArea=..., pos=...) at /home/dan/bzr/compiz/trunk/plugins/place/src/place.cpp:705
#8 0x00007fbca4a09e08 in PlaceWindow::doPlacement (this=0x1882530, pos=...) at /home/dan/bzr/compiz/trunk/plugins/place/src/place.cpp:618
#9 0x00007fbca4a0a171 in PlaceWindow::place (this=0x1882530, pos=...) at /home/dan/bzr/compiz/trunk/plugins/place/src/place.cpp:311
#10 0x00007fbcb385187c in CompWindow::place (this=0x1873eb0, pos=...) at /home/dan/bzr/compiz/trunk/src/window.cpp:2217
#11 0x00007fbcb385ec60 in PrivateWindow::processMap (this=0x1ac92f0) at /home/dan/bzr/compiz/trunk/src/window.cpp:5494
#12 0x00007fbcb3872cc4 in CompScreenImpl::_handleEvent (this=0x132fd10, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/src/event.cpp:1834
#13 0x00007fbcaea32788 in PrivateCompositeScreen::handleEvent (this=0x13a8e40, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/composite/src/screen.cpp:106
#14 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#15 0x00007fbcae40264f in PrivateGLScreen::handleEvent (this=0x13ba820, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/screen.cpp:616
#16 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#17 0x00007fbcac440f7c in MoveScreen::handleEvent (this=<optimised out>, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/move/src/move.cpp:632
#18 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#19 0x00007fbcac21b269 in ResizeScreen::handleEvent (this=0x161e540, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/resize/src/resize.cpp:1495
#20 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#21 0x00007fbca5dfc5dc in DecorScreen::handleEvent (this=0x163bff0, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/decor/src/decor.cpp:2400
#22 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#23 0x00007fbca57a44c7 in PrivateScaleScreen::handleEvent (this=0x1685090, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/scale/src/scale.cpp:1664
#24 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#25 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#26 0x00007fbca4a08905 in PlaceScreen::handleEvent (this=0x16d3fd0, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/plugins/place/src/place.cpp:209
#27 0x00007fbcb386f503 in CompScreen::handleEvent (this=0x132fd10, event=<optimised out>) at /home/dan/bzr/compiz/trunk/src/event.cpp:1049
#28 0x00007fbcb386f53b in CompScreenImpl::alwaysHandleEvent (this=0x132fd10, event=0x7fff6e9d9cb0) at /home/dan/bzr/compiz/trunk/src/event.cpp:1065
#29 0x00007fbcb3849352 in PrivateScreen::processEvents (this=0x1334058) at /home/dan/bzr/compiz/trunk/src/screen.cpp:876
#30 0x00007fbcb387aee7 in CompEventSource::callback (this=<optimised out>) at /home/dan/bzr/compiz/trunk/src/eventsource.cpp:64
#31 0x00007fbcb1d7cf2f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#32 0x00007fbcb1884d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fbcb18850a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fbcb188549a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x0000000000402194 in main (argc=16, argv=0x7fff6e9d9ff8) at /home/dan/bzr/compiz/trunk/src/main.cpp:224
(gdb)