I’m on WPMU 2.8.1 (not trunk) and BP 1.0.3 (not trunk) and the directories show up fine for me.
		
	 
	
	
	
 
		
			
	
	
		
		Here is the stack trace (while I’m debugging this thing) if anyone wants to see: (some private info stripped)
( ! ) Warning: require_once(/var/www/vhosts/example.com/htdocs/wp-content/themes/myspecialtheme/directories/groups/groups-loop.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/vhosts/example.com/htdocs/wp-includes/theme.php on line 843
Call Stack
#	Time	Memory	Function	Location
- 0.0002	58868	{main}( )	../index.php:0
- 0.0002	59300	require( ‘/var/www/vhosts/example.com/htdocs/wp-blog-header.php’ )	../index.php:17
- 0.0003	60296	require_once( ‘/var/www/vhosts/example.com/htdocs/wp-load.php’ )	../wp-blog-header.php:19
- 0.0004	60884	require_once( ‘/var/www/vhosts/example.com/htdocs/wp-config.php’ )	../wp-load.php:30
- 0.0006	62376	require_once( ‘/var/www/vhosts/example.com/htdocs/wp-settings.php’ )	../wp-config.php:122
- 0.0833	2258120	do_action( )	../wp-settings.php:787
- 0.0960	2447636	call_user_func_array ( )	../plugin.php:339
- 0.0960	2447636	bp_core_add_ajax_hook( )	../plugin.php:0
- 0.0960	2447636	do_action( )	../bp-core-ajax.php:4
- 0.0961	2447636	call_user_func_array ( )	../plugin.php:339
- 0.0961	2447636	bp_core_ajax_directory_groups( )	../plugin.php:0
- 0.0963	2448372	load_template( )	../bp-groups-ajax.php:215
 
	
	
	
 
		
			
	
	
		
		
- ‘myspecialtheme’ is the theme being used on wpmu.
- I find it wierd that it’s trying to look for ‘/var/www/vhosts/example.com/htdocs/wp-content/themes/myspecialtheme/directories/groups/groups-loop.php’.
- ‘group-loop.php’ is actually in ‘bpmember’ not in themes.
I just have to find out why it’s trying to look there…
		
	 
	
	
	
 
		
			
	
	
		
		To Clarify futher, it’s the ajax search.  The top-level search works fine.
		
	 
	
	
	
 
		
			
	
	
		
		Looks like when the jquery post() is run, wpmu/bp looks at the location and pulls the corresponding theme locations from the backend based on ‘ajaxurl’ (one of args to post).  
When I alter the ajax url to ‘http://example.com/groups’ from htttp://example.com’ it works propertly.
Now I have to find out why ajaxurl is being written without ‘groups’.
		
	 
	
	
	
 
		
			
	
	
		
		ajaxurl gets populated via root_domain + _SERVER[‘SCRIPT_NAME’]
As soon as I saw that I knew what had happened.
As some of you know, we’re working on our nginx modules which necessitates some custom phpfpm alterations (which we hope to contribute pending our modules).  During this, we had to temporarily turn off our fastcgi_params script_name reference and well the rest is history.
Moral of the story, make sure your php backend is stable before you mess around.
This thread is now resolved/closed.