Return None to signal that the module the object was defined in was not found when object has no __name__ attr but is needed to figure out location of object.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index a2ea739..eca5e8c 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -383,6 +383,8 @@
     if file in modulesbyfile:
         return sys.modules.get(modulesbyfile[file])
     main = sys.modules['__main__']
+    if not hasattr(object, '__name__'):
+        return None
     if hasattr(main, object.__name__):
         mainobject = getattr(main, object.__name__)
         if mainobject is object: