Custom theme doesn't show up in Blocks section
If you want to skip the full story

Search for any "*.info" file in your drupal repo that has no line similar to "name = xxxx".

My problem was due to a file named "lcov.info" in a grunt module (grunt-svgmin) in my theme.
I happended "name = lcov is not a theme" at the beginning of the file and the issue fade away.
I'll check svg-min later.



Full story

I had the same notice problem for few days.

The notice was a pattern of 3 lines : 

in block.module :

line 146 : 

'title' =&gt; check_plain($theme-&gt;info['name'])


and line 165

'title' =&gt; check_plain($theme-&gt;info['name']),


in system.module line 647 : 

'title' =&gt; $theme-&gt;info['name'],


This pattern is replicated a variying number of times depending on the pages.

I've tried switching theme in vain.

I first tried to cleanup - hence the last part may apply.
It worked at first (which explains my first response), but came back.

*What I did : *
Open system.module and go to line 645

  foreach (list_themes() as $theme) {
    $items['admin/appearance/settings/' . $theme-&gt;name] = array(
      'title' =&gt; $theme-&gt;info['name'],


insert these two var_dump lines : 

 foreach (list_themes() as $theme) {
    var_dump("-----------------");
    var_dump($theme-&gt;info['name']);
    $items['admin/appearance/settings/' . $theme-&gt;name] = array(
      'title' =&gt; $theme-&gt;info['name'],


Visit your site. It should show something like 

string '-----------------' (length=17)
string 'A Theme' (length=5)
string '-----------------' (length=17)
string 'Bartik' (length=6)
string '-----------------' (length=17)
string 'Garland' (length=7)
string '-----------------' (length=17)
null
string '-----------------' (length=17)
string 'Seven' (length=5)
string '-----------------' (length=17)
string 'Stark' (length=5)
string '-----------------' (length=17)
string 'Zen' (length=3)


See this empty line where it is written null ????
This is the F....g theme.
So I looked up to the admin theme to find the culprit and got rid of "engines" folder
...But discovered engine is not a theme, so added it back.
I then went 

drush pm-list --type=Theme


And found a disabled theme named *lcov (lcov) *

Believe it or not : it is not a drupal theme !!

it is a file named lcov.info in a node module -- grunt-svgmin -- in my theme

*TADA !!! *



First attempt

The sub theme I heritated was based on ZEN, but zen was not inclued any longer.
Also, theme name included numbers abc123

On a another instance of the local site I :

Added a fresh version of zen and activated it

ran drush zen "My human readable Theme name" mymachinethemename
/* the latter will generate a clean version of your ZEN subtheme */

Adjusted the subtheme.info file for regions, assets and optins

Moved the badly named theme to another folder outside of the site

started adding back assets from the old theme, then templates and includes, piece by piece, 
renaming functions to match the theme name

No need to say you need to backup and work on a dedicated branch and database.
You might have to reposition blocks in admin.

Not sure it was the most efficient but as I'm roughly new to drupal it was a great way for me to dig in this legacy theme.

Charles