เกิดจากมันหา access token ไม่เจอครับ
วิธีแก้
ถ้าเป็น app ที่เรียกใช้ผ่าน facebbok app เช่น
https://apps.facebook.com/balbla... 
บรรทัดบนสุดของ code ก่อนประกาศ new Facebook(.....);
เพิ่ม
<?php
if(@$_REQUEST['signed_request']){
$_SESSION['signed_request']=$_REQUEST['signed_request'];
}else{
$_REQUEST['signed_request']=$_SESSION['signed_request'];
}
?>
แต่ถ้าเล่นบนหน้าเวบ เช่น
http://domainname.com/appblabla.... 
ให้เปลี่ยน การ login เป็น
<?php
$facebook = new Facebook(.....)
....
....
$loginurl = $facebook->getLoginUrl(array(
'scope' => 'email,user_likes,.....',
'redirect_uri'=>'http://domainaname.com/fblogin_success/',
'response_type' => 'token'
));
header("Location:{$loginurl}");
?>
หลัง login จะ redirect มาที่
http://domainaname.com/fblogin...access_token=USER_ACCESS_TOKEN 
ใช้ javascript เอา access token มาเก็บใน session
<script type="text/javascript">
var hash_data = window.location.hash;
var access_token = hash_data.replace("#access_token=","");
window.location="http://domainame.com/set_fblogin/?access_token=" access_token ;
</script>
และเอา access token ที่ใด้มาใช้โดย
<?php
$access_token = $_SESSIOn['access_token'];
$facebook->setAccessToken($access_token);
?>
ทั้งหมดข้างบนเป็นตัวอย่างนะครับ
ไม่อยากให้ copy/paste นะครับ
ให้ดูเป็นวิทยาทานเท่านั้น
ขอบคุณครับ