The LC parameter which shows when you have debug enabled, is an index of the upper y coordinate of the chunk section which has the highest non-air block for that chunk. This parameter is important in the calculations for entity spawning. When you place a block above that section or remove every non-air block out of that section, the section should be unloaded or loaded as applicable and the LC parameter should correctly reflect this change.
What happens when you remove a section:
When you remove a section of a chunk, e.g. by removing all non-air blocks. The section stays loaded and the server still uses these empty sections for calculations like mobspawning. This does not change if you reload the world! However, if you reload the world, the client's LC parameter will reflect that it has been recalculated (even though the section has not been unloaded on the server).
What should happen:
When a section is completely empty it should not be loaded, the LC parameter should reflect that it is not loaded. And any calculations for mob spawning etc, should use the correct LC value. The client should always show the correct LC value.
How to fix:
There is a method in the Chunk class (abw.class) which checks for the topmost filled section in a chunk (int h()). Don't just check that the section is not null, but also that it is not empty.
This video details the problem and the fix
http://youtu.be/LIDNyB-Ys8w
This bug has existed for a long time, let's get it fixed !
Related issues
is duplicated by
Comments
Is this still a concern in the current Minecraft version? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
This post does not describe this bug correctly and also suggests a senseless and inefficient solution. To fix this bug appropriately look at this post: MC-13544
To be more precise, what is described here is not the problem. That is how it should be working, but since there is an even simpler solution to fix this than like that, I made this other post.
Was that still not clear enough? This issue is wrong! What is beeing decribed here would not be a bug if it was true!
Well in my defense I logged this bug a long long long time ago, and my observations were based on playing the game. Now that I see your explanation and video and look at the code, I have corrected the "errors" in my bug description.
would be awesome if one programmer of mojang can look at this issue
should be pretty easy to fix I think, maybe one afternoon of integrating into the code and testing
especially because the fix has been uploaded already by thecoderaider on youtube
It definitely is really easy to fix. It is just one line of code that needs to be slightly modified. After reading this issue it is easily possible to fix this bug in less than a minute.

As jl said in his stream, this will be a quick fix and reduce lag and make farms faster, with only 2 lines of code changed.
Please fix this.
Does this bug affect the latest snapshots?

I can test it, but as far as I can tell, it still does apply.
It does still affect the snapshots I did some tests and I can confirm that it is still NOT working correctly. For example I created a flat world, stacked up in a chunk and removed the blocks I placed. After that I left the world, to save it. Then I checked the region files of that world and if it would be fixed I would not be able to see more sections in any chunk, but there was a chunk with more sections. These additional sections did not contain any blocks, which means there is no need for them to be safed, but still they were, so apparently it is still not fixed.
When I load the map it does only show a lower lc value for the client it does not change anything on the region files.
I did then also look into the snapshot code and there was nothing changed that could fix this bug.
What's up with this bug? It's been here for ages.. is it so hard to fix?
Or could this be intended so you can screw stuff up easily? lol..
I really do not know why no one tried to fix this bug yet, but it is not hard to fix at all, even if you were going for a really nice solution. Maybe it is just because it is not easy to find out about this bug, so people might have problems with it, but don't know why.

The most likely reason why this bug hasn't been fixed is that LC is a rather technical term, and this bug, while major, is hard to notice immediately.
Also: Would this bug increase lag?
Code Raider - If this is so, can I "fix" my witch hut by deleting the file containing that higher section of that chunk?
That would delete the 32x32 chunk area in which this section is. You could delete the sections inside of this file though, by editing it with NBTEdit or something like that.

Is this still a concern in the current Minecraft version 1.7.4 / Launcher version 1.3.8 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
I can confirm that this issue still exists in snapshot 14w04b.
I tested this by getting a beacon to work in the nether without breaking bedrock, going on top of the ceiling, placing and breaking a block in the beacon chunk and reloading the world to reset the lc value.
When i got back to the beacon the lc value was reset but the beacon did not work any longer.
could be intersting in this context:
http://de.reddit.com/r/Minecraft/comments/1t6qn7/i_am_dinnerbone_a_minecraft_developer_ask_me/cej2h2m?context=3
the developers (namely here Dinnerbone) miss why this value affects the game "as it is only a debug value"
Actually, I'm OP of that comment. Hopefully I've served the community well. If you read farther, I had called over some of my (I guess I can call them friends, as I've talked to some of them before, but they're much greater than me) to comment, and the attention finally grasped him. Finally.
What Dinnerbone said on reddit is that the LC value is not supposed to decrease, but that it is a bug that mob spawning is using that value. So actually he confirmed that this is indeed a bug: "That things use this instead of lowest empty chunk (...) should be considered the bug here, which will be fixed."

Speaking of LC: LC isn't shown on f3 right now.
That only makes it harder to explain the bug, but that doesn't change anything about that we still have the same issue.
No longer an issue because LC value is no longer displayed in the client.

Don't know when it was fixed, but can only set 14w11b as fixed version.
@[Mod] Kumasasa Pls don't prejudge this issue. It hasn't been fixed, yet. (as far as I know)
Just because the value isn't directly visible anymore that doesn't mean the issue is fixed (the lc-value is likely to be used in the background still)
Code Raider already said it above: this makes it even harder to explain
pls wait for a response from a Mojang developer before closing this issue.
Dinnerbone said that he wanted to take a look at this if there is time.

Dinnerbone said that he wanted to take a look at this if there is time.
Source ?
Thx for linking to the reddit comments Stefan Mereuta 😉
Wasn't able to reply until now...
To quote the important part:
"Yes. LC is the lowest chunk section generated, and we never remove sections/chunks/regions. It goes up not down. That things use this instead of lowest empty chunk is a different matter entirely and that should be considered the bug here, which will be fixed."
In 1.8 snapshots the bug is apparently solved.
proof/source?
In 1.7: If you make a plataform where your feet are in position 16 and LC is 15, mobs don't spawn, if you change the LC to 31 or higher, mobs spawn in the plataform even when the F3 Debug say that this chunk have LC 15. --> This is the bug, client don't reflect server information and LC don't change.
In 1.8: Don't happens that and the LC apparently changes for sections of 1X1, in 1.7 LC change for each chunk (Sections of 16X16).
In this vÃdeo in Spanish I show that: http://youtu.be/qaydJrmTrsQ
OK might be fixed now but I would still want one of the Mojang developers to confirm this because I haven't found anything about it in the changelogs.
(I looked them through today, might be that I skipped it accidently though)
If it is fixed, HOW exactly is it fixed?
This was a bit unclear from dinnerbones answer.
I mean there are obviously atleast 5 different problems here not one (Maybe more)
The problem with server / client not showing consistent values of lc
The problem where mobs dont spawn if the top layer of solid blocks since it doesnt have 2x airblocks above it because the lc value is to low.
The problem with empty chunks getting saved (and not deleted) creating and loading unused data (bad for server performance)
The problem where light levels are saved in empty chunks due to that they exist, even if the light level there is not used.
The problem where mob spawning calculations are done on empty chunks above ground that doesnt really matter. This one is in my opinion the bigest problem for several reasons:
It affects gameplay where you can "destroy" the spawning ability of a chunk forever by just putting one block at height 255 and destroy it right after.
It puts a huge stress on servers with mob spawning calculations that are never going to result in any spawning anyway.
The absolute best way to solve this would be to every time the server restarts or a chunk (in x/z) gets unloaded check all height chunks from the top down to y>79. IF the "height chunk" is totally empty AND the chunk below it is empty, IF so: remove it. Once a block gets placed there it should ofcourse be saved again.
Now dinnerbone basically said in that redit post that he doesnt beleve in removing chunks (which is to bad =/ ), so I guess that the next best thing would be to in the spawning algorithm only check for mobspawnings in "filled" chunks and in the collision part of the algorithm accept an empty chunk as "air blocks".
But the important thing is that: This is not ONE problem (as allready pointed out by someone in this post), but several different, and what exactly gets solved (and how) is of importance.
Is fixed by the bad way, actually there aren't LC value for a chunk, there a "LB value", i called LB because LC is a value for a 16x16 section (a chunk), LB is a value for a 1X1 section (a block), the LB value works like LC but don't have the MC-7473 bug, the LB value is updated in real time and the LB value in client is the same for server, so for this way the bug is totally fixed.
I don't know if this intended or a bug.
Also this change breaks the old enderman farms because this farms don't have roofs that increase the LB value around them, and therefore there are no air blocks around the areas of spawn that increase the spawn of endermans.
In this video i show how this change breaks the enderman farms and how to fix with a roof, the fix was based on the previous argument: (Video in Spanish) https://www.youtube.com/watch?v=0aRLA_HMKvg
I didnt understand much of that video.. =(
Well as long as it updates realtime and goes back to normal if you break blocks you have placed high up, so it doesnt get "stuck" I think its ok I guess. This gives the user control over it more, while at the same time spreading out the spawns a bit more even in the world (when the player havent done anything about it). There might be a problem with spawnrates in sloped areas though, since they switch height a lot and some blocks might not have many air blocks around them for spawning. But as long as it is working I guess Im fine with it.
Just to give an alternative, I made an easy fix yesterday that would in a way solve some parts of the problem in the old system:
The fix would be to put in the following method in the Chunk class:
private void clearUnusedExtendedStorage(){
for(int i = this.storageArrays.length); i>0; i--){
if(this.storageArrays[i] != null){
if(!this.storageArrays[i].isEmpty()){
return;
}
this.storageArrays[i] = null;
}
}
}
And then put in a call to this function in the beginning of the function:
onChunkUnload()
Edit:
Maybe I should explain it a bit..
Basically it removes empty chunk parts, that are just objects of empty arrays, when you unload the chunks.
This would keep the old system except for that the LC value would go down the the highest Height chunk with anything in it and also empty stuff would not be saved.
(It however always leaves atleast an LC of 16.)
1.8-pre1: lc is no longer displayed in F3.

@@unknown: That may cover the symptoms, but is the cause fixed ?
@Kumasasa: The underlying issue (mob spawning also checks sections full of air) is not the main issue of this bug report, is it? Also, I heard somewhere that in 1.8, the LC value will no longer have any effect on mob spawning, as the entire 256 blocks world height will be checked; But I can't personally verify this or have a source, so you'll have to take this with a grain of salt.
edit: While the cause may not be fixed (I don't know if it is), does this have any other effects?

Is this still a concern in the current Minecraft version 1.8.1 Prerelease 3 / Launcher version 1.5.3 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
No response for over a year.
I can confirm the the LC parameter is inconsistent. I logged in to my SMP server today and the LC parameter of a chunk that used to be 47 is not back to 79 again. Even though there has been nothing built in that chunk at all. Very weird behavior.