XP Security patch KB896424 breaks Celestia

General discussion about Celestia that doesn't fit into other forums.
Topic author
abramson
Posts: 408
Joined: 22.07.2003
With us: 21 years 4 months
Location: Bariloche, Argentina

XP Security patch KB896424 breaks Celestia

Post #1by abramson » 08.11.2005, 18:24

Dear people,

I have suddenly lost ring shadows. The shadow of the planet on the rings is absent in all render paths. The shadow of the rings on the planet is visible only in the OpenGL 2 render path. Needless to say, all shadows worked fine until I discovered this problem yesterday. In particular, they worked in the vertex/combiners path, which is the one I preferred.

In addition, the Earth becomes a red ball under the OpenGL 2 path (it is the only planet that suffers this, and it is the only one for which the texture is a png file. Related?)

I have searched the forum for indications of what might happen, without success. I updated the ForceWare to version 81.85 today, and nothing changed.

Besides the update of the ForceWare (which I did after finding the problem), I have not changed anything in the graphics configuration (or at least anything that I am aware of...)

Any help or hint will be appreciated. Thanks.

Guillermo :(

Configuration:
P4 3GHz on Intel D865GBF, 2GB RAM, Windows XP Pro SP2
nVidia GeForce FX 5200 AGP (MSI)
ForceWare version 81.85
Video Bios version 4.34.20.22
Display Driver 6.14.10.8185
Celestia: FT1.1 and 1.3.2 (Both with the same problem)

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #2by selden » 08.11.2005, 18:48

It sounds like your copy of Celestia.exe has been damaged somehow.
I'd suggest installing Celestia again from scratch just to make sure all of its files are updated properly.

Celestia displays an object as Red in the OpenGL 2.0 render path when the graphic card's shader compiler detects a problem with the shader code that Celestia has generated.

Celestia should have written a file named shaders.log containing the compiler error message.
Selden

Topic author
abramson
Posts: 408
Joined: 22.07.2003
With us: 21 years 4 months
Location: Bariloche, Argentina

Post #3by abramson » 08.11.2005, 19:58

selden wrote:It sounds like your copy of Celestia.exe has been damaged somehow.
I'd suggest installing Celestia again from scratch just to make sure all of its files are updated properly.
Thanks, Selden. I doubt it: the problem appeared suddenly in three Celestias: FT1.1 as distributed by Fridger, FT1.1 as compiled by myself, and 1.3.2 as compiled by myself from the latest CVS. I suspect more of a graphics (configuration?) problem. I will uninstal+reinstall anyway.

Celestia should have written a file named shaders.log containing the compiler error message.

Version FT1.1 didn't generate the shaders.log file, but 1.3.2 did. The contents follows. There is indeed an error message, but I have browsed through the file and don't understand how to make use of it. If someone has more experience, please let me know. Thanks.

Guillermo

Code: Select all

Vertex shader source:
  1: uniform struct {
  2:    vec3 direction;
  3:    vec3 diffuse;
  4:    vec3 specular;
  5:    vec3 halfVector;
  6: } lights[1];
  7: uniform float shininess;
  8: varying vec4 spec;
  9: varying vec2 diffTexCoord;
 10: varying vec2 normTexCoord;
 11: varying vec3 lightDir0;
 12: varying vec2 specTexCoord;
 13: varying vec2 nightTexCoord;
 14: varying float totalLight;
 15: uniform float textureOffset;
 16: attribute vec3 tangent;
 17:
 18: void main(void)
 19: {
 20: float nDotVP;
 21: float nDotHV;
 22: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
 23: nDotHV = max(0.0, dot(gl_Normal, lights[0].halfVector));
 24: spec.rgb += lights[0].specular * (pow(nDotHV, shininess) * nDotVP);
 25: totalLight += nDotVP;
 26: totalLight = 1.0 - totalLight;
 27: totalLight = totalLight * totalLight * totalLight * totalLight;
 28: vec3 bitangent = cross(gl_Normal, tangent);
 29: lightDir0.x = dot(tangent, lights[0].direction);
 30: lightDir0.y = dot(-bitangent, lights[0].direction);
 31: lightDir0.z = dot(gl_Normal, lights[0].direction);
 32: diffTexCoord = gl_MultiTexCoord0.st;
 33: diffTexCoord.x += textureOffset;
 34: normTexCoord = gl_MultiTexCoord1.st;
 35: specTexCoord = gl_MultiTexCoord2.st;
 36: nightTexCoord = gl_MultiTexCoord3.st;
 37: gl_Position = ftransform();
 38: }

Fragment shader source:
  1: uniform vec3 ambientColor;
  2: vec4 diff = vec4(ambientColor, 1.0);
  3: uniform vec3 lightcolor0;
  4: uniform vec3 lightspecColor0;
  5: varying vec4 spec;
  6: varying vec2 diffTexCoord;
  7: uniform sampler2D diffTex;
  8: varying vec2 normTexCoord;
  9: varying vec3 lightDir0;
 10: uniform sampler2D normTex;
 11: varying vec2 specTexCoord;
 12: uniform sampler2D specTex;
 13: varying vec2 nightTexCoord;
 14: uniform sampler2D nightTex;
 15: varying float totalLight;
 16:
 17: void main(void)
 18: {
 19: vec4 color;
 20: vec3 n = texture2D(normTex, normTexCoord.st).xyz * vec3(2.0, 2.0, 2.0) - vec3(1.0, 1.0, 1.0);
 21: float l;
 22: l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
 23: diff.rgb += l * lightcolor0;
 24: color = texture2D(diffTex, diffTexCoord.st);
 25: gl_FragColor = color * diff + texture2D(specTex, specTexCoord.st) * spec;
 26: gl_FragColor += texture2D(nightTex, nightTexCoord.st) * totalLight;
 27: }

Error linking shader program:
Vertex info
-----------
Internal error: assembly compile error for vertex shader at offset 1691:
-- error message --
line 42, column 19:  error: invalid operand variable
line 51, column 32:  error: invalid operand variable
-- internal assembly text --
!!VP2.0
# cgc version 1.5.0000, build date Oct 10 2005 22:14:19
# command line args:
#vendor NVIDIA Corporation
#version 1.0.02
#profile vp30
#program main
#semantic gl_ModelViewProjectionMatrixTranspose
#semantic lights
#semantic shininess
#semantic textureOffset
#var float3 gl_Normal : $vin.NORMAL : NORMAL : -1 : 1
#var float4 gl_Vertex : $vin.POSITION : POSITION : -1 : 1
#var float4 gl_MultiTexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : -1 : 1
#var float4 gl_MultiTexCoord1 : $vin.TEXCOORD1 : TEXCOORD1 : -1 : 1
#var float4 gl_MultiTexCoord2 : $vin.TEXCOORD2 : TEXCOORD2 : -1 : 1
#var float4 gl_MultiTexCoord3 : $vin.TEXCOORD3 : TEXCOORD3 : -1 : 1
#var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
#var float4x4 gl_ModelViewProjectionMatrixTranspose :  : c[0], 4 : -1 : 1
#var float3 lights[0].direction :  : c[7] : -1 : 1
#var float3 lights[0].diffuse :  :  : -1 : 0
#var float3 lights[0].specular :  : c[8] : -1 : 1
#var float3 lights[0].halfVector :  : c[4] : -1 : 1
#var float shininess :  : c[6] : -1 : 1
#var float3 lightDir0 : $vout.TEX0 : TEX0 : -1 : 1
#var float textureOffset :  : c[9] : -1 : 1
#var float2 nightTexCoord : $vout.TEX1 : TEX1 : -1 : 1
#var float2 diffTexCoord : $vout.TEX2 : TEX2 : -1 : 1
#var float2 normTexCoord : $vout.TEX3 : TEX3 : -1 : 1
#var float totalLight : $vout.TEX4 : TEX4 : -1 : 1
#var float2 specTexCoord : $vout.TEX5 : TEX5 : -1 : 1
#var float4 spec : $vout.TEX6 : TEX6 : -1 : 1
#var float3 tangent : $vin.ATTR6 : ATTR6 : -1 : 1
#const c[5] = 0 1
BB1:
DP3   R2.xy, v[2], c[7];
MOV   R0.xyz, v[6];
MUL   R1.xyz, v[2].zxyw, R0.yzxw;
MAD   R0.xyz, v[2].yzxw, R0.zxyw, -R1;
DP3   o[TEX0].y, -R0, c[7];
MAX   R0.w, R2.x, c[5].x;
ADD   R1.x, R0.w, o[TEX4];
DP3   R0.x, v[2], c[4];
MAX   R0.xy, R0.x, c[5].x;
MOV   R0.z, c[6].x;
LIT   R0.z, R0.xyzz;
ADD   R1.x, -R1, c[5].y;
MUL   R0.x, R1, R1;
MUL   R0.y, R0.z, R0.w;
MUL   R0.x, R0, R1;
MAD   o[TEX6].xyz, R0.y, c[8], o[TEX6];
MUL   o[TEX4].x, R0, R1;
MOV   o[TEX0].z, R2.y;
MOV   o[TEX3].xy, v[9];
MOV   o[TEX5].xy, v[10];
MOV   o[TEX1].xy, v[11];
DP3   o[TEX0].x, v[6], c[7];
ADD   o[TEX2].x, v[8], c[9];
MOV   o[TEX2].y, v[8];
DP4   o[HPOS].w, v[0], c[3];
DP4   o[HPOS].z, v[0], c[2];
DP4   o[HPOS].y, v[0], c[1];
DP4   o[HPOS].x, v[0], c[0];
END
# 28 instructions, 3 R-regs
Vertex shader source:
  1: uniform struct {
  2:    vec3 direction;
  3:    vec3 diffuse;
  4:    vec3 specular;
  5:    vec3 halfVector;
  6: } lights[1];
  7: uniform vec3 ambientColor;
  8: varying vec4 diff;
  9: varying vec2 diffTexCoord;
 10: uniform float textureOffset;
 11:
 12: void main(void)
 13: {
 14: float nDotVP;
 15: diff = vec4(ambientColor, 1.0);
 16: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
 17: diff.rgb += lights[0].diffuse * nDotVP;
 18: diffTexCoord = gl_MultiTexCoord0.st;
 19: diffTexCoord.x += textureOffset;
 20: gl_Position = ftransform();
 21: }

Fragment shader source:
  1: varying vec4 diff;
  2: varying vec2 diffTexCoord;
  3: uniform sampler2D diffTex;
  4:
  5: void main(void)
  6: {
  7: vec4 color;
  8: color = texture2D(diffTex, diffTexCoord.st);
  9: gl_FragColor = color * diff;
 10: }

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #4by selden » 08.11.2005, 20:28

Sorry: I can't help with decoding the errors either. If I'm reading them correctly, they seem to be specifying lines that aren't in the shader code :(

My other ideas about what might be going wrong were even less happy:
a virus corrupting the graphic drivers when they're loaded, or
a failure in the graphics card itself.

Certainly do a full system scan with a current anti-virus product an with several different anti-spyware scanners. They may not help with the current problem, but can't hurt.

Have you considered going back to a system restore point taken before the problems started?
Selden

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #5by cartrite » 08.11.2005, 21:05

Or reinstall your display drivers?

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 8 months
Location: Hamburg, Germany

Post #6by t00fri » 08.11.2005, 21:18

Hi Guillermo,

just returning this morning from my extended trip to South America (also talking to colleagues of yours in Bariloche..).

So I read about this horror that takes place in your machine!

Clearly the artifacts don't seem to be related to Celestia, since they occur simultaneously in three quite different versions.

Did you recently upgrade you card driver? Did you cross-check whether /other/ OpenGL applications are still correctly rendered?? Did you make adjustments in the GUI of your display driver?

Sorry, this all looks quite strange to me.

Cheers,
Fridger

PS: I have commented out shaders.log in FT1.x since it drove me crazy ;-) . If you want it back, just search for 'shaders.log' in the code, delete the /*... */ and recompile.

Malenfant
Posts: 1412
Joined: 24.08.2005
With us: 19 years 3 months

Post #7by Malenfant » 08.11.2005, 21:24

It does sound like a deeper problem. Maybe your graphics card is starting to go on the fritz. If updating the drivers didn't help that sounds like it might be the problem... have you looked at the card? Is the fan working on it? Does Celestia run more slowly than usual?
My Celestia page: Spica system, planetary magnitudes script, updated demo.cel, Quad system

Topic author
abramson
Posts: 408
Joined: 22.07.2003
With us: 21 years 4 months
Location: Bariloche, Argentina

Post #8by abramson » 09.11.2005, 00:40

Thanks a lot, everybody...

I tried most of the suggestions: spies, viruses, drivers. Eventualy, I went to the system restore utility and observed that on Monday there had been an "update" from Windows. I recovered the system to the immediately previous configuration and voil? ! solved both the shadows and the OpenGL 2 problems!! Perhaps it was a virus after all: the XP virus :evil:

XP users be warned: if Celestia starts to display graphic anticks, just restore!

Fridger: who did you meet? Ingo?

Guys, I am so exhausted this week, I am teaching three courses. And with Mars at opposition...

Guillermo

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #9by selden » 09.11.2005, 12:32

This is to confirm Guillermo's report that the most recent MS Security update for Windows XP, KB896424, breaks Celestia. This was first made available in the U.S. last night, Tuesday, November 8th, 2005.

My home system still draws the shadow of Saturn on its rings, but the Earth does change into a red ball when Render Path OpenGL 2.0 is enabled.

System:
1GB 3.4GHz P4-550; Win XP Pro, SP2, patch KB896424
128MB GF 6600XP, ForceWare v81.85
Celestia v1.4.0pre7

(I'll change the name of this topic so it matches the cause.)
Selden

Malenfant
Posts: 1412
Joined: 24.08.2005
With us: 19 years 3 months

Post #10by Malenfant » 09.11.2005, 14:43

Anyone know *why* it breaks Celestia? And can Celestia be proofed against it?
My Celestia page: Spica system, planetary magnitudes script, updated demo.cel, Quad system

ANDREA
Posts: 1543
Joined: 01.06.2002
With us: 22 years 5 months
Location: Rome, ITALY

Post #11by ANDREA » 09.11.2005, 15:07

selden wrote:This is to confirm Guillermo's report that the most recent MS Security update for Windows XP, KB896424, breaks Celestia. This was first made available in the U.S. last night, Tuesday, November 8th, 2005. My home system still draws the shadow of Saturn on its rings, but the Earth does change into a red ball when Render Path OpenGL 2.0 is enabled.

This to make happy the ones who installed this MS Security update on OpenGL 1.5 machines: no problem at all. :D
I think this be related to OpenGL 2.0 machines only. :wink:
FYI

Andrea :D
"Something is always better than nothing!"
HP Omen 15-DC1040nl- Intel® Core i7 9750H, 2.6/4.5 GHz- 1TB PCIe NVMe M.2 SSD+ 1TB SATA 6 SSD- 32GB SDRAM DDR4 2666 MHz- Nvidia GeForce GTX 1660 Ti 6 GB-WIN 11 PRO

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #12by selden » 09.11.2005, 15:28

And this is to confirm Andrea's report.
I do not see the OpenGL problem on my system at work.
The Earth looks normal when using Render Path OpenGL 2.0
and Saturn's shadow is visible on the rings
while the ring shadows are visible on the planet.

System:
512MB 2.4GHz P4; Win XP Pro, SP2, patch KB896424
128MB FX 5200, ForceWare v66.81 (OpenGL v1.5.2)
Celestia v1.4.0pre7
Selden

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #13by cartrite » 09.11.2005, 16:23

This morning when I booted up Windows the I went thru the following steps:
The update was installed.
I went to Nvidia Home page and seen there was a driver update 81.85
That update was installed
I ran celestia-pre6 and got a red ball for open gl-2.0
This also showed version 2.0.1 in open gl info
I uninstalled the update from Windows
Still got a red ball
I then rolled back the Nvidia driver to 78.01
The red ball was gone and everything looked normal
The open gl version went back to 2.0.0
I then reinstalled windows update and still everything looked normal.
The windows update seems to affect the newer nvidia driver.

cartrite

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #14by cartrite » 09.11.2005, 16:34

Or the new driver is affecting Celestia

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #15by cartrite » 09.11.2005, 16:50

I also just ran FT1.1-2 and my latest cvs version, which is a couple of months old now. Everything looks normal with driver 78.01 and windows update KB896424 installed.

cartrite

Fightspit
Posts: 510
Joined: 15.05.2005
With us: 19 years 6 months

Post #16by Fightspit » 09.11.2005, 17:28

I find this at :
http://today.reuters.com/news/newsartic ... CURITY.xml

Code: Select all

SEATTLE (Reuters) - Microsoft Corp. (MSFT.O: Quote, Profile, Research) warned users on Tuesday of a new "critical"-rated flaw in recent versions of Windows that could allow attackers to take control of a system by embedding malicious software code into digital images.

Users of Windows XP, Windows Server and an updated version of Windows 2000 were vulnerable to an attack unless they installed a software patch.

The flaw affects imaging technology used in Windows that could potentially allow an attacker to take control of a system simply by having the user view a digital image that contains software code that exploits the flaw.

The top two providers of security software and services, Symantec Corp. (SYMC.O: Quote, Profile, Research) and McAfee Inc. (MFE.N: Quote, Profile, Research) recommended that users install the patch and avoid opening suspicious e-mail attachments or clicking on any unfamiliar links.

"If a potential victim goes to a Web site and sees these files, they can be infected," said Monti Ijzerman, manager of security content at McAfee.

"The most the obvious thing is to deploy (install) the Microsoft security patches," Izjerman said.

Microsoft issued the patches as part of its monthly security bulletin, which it adopted in 2003 to make it easier for users and computer system administrators to install patches and keep track of vulnerabilities in Microsoft's software.

Users can also download the patches to fix the software flaws at www.microsoft.com/security.


I think it is a problem with image if I have understood.
Last edited by Fightspit on 09.11.2005, 17:39, edited 2 times in total.
Motherboard: Intel D975XBX2
Processor: Intel Core2 E6700 @ 3Ghz
Ram: Corsair 2 x 1GB DDR2 PC6400
Video Card: Nvidia GeForce 8800 GTX 768MB GDDR3 384 bits PCI-Express 16x
HDD: Western Digital Raptor 150GB 10000 rpm
OS: Windows Vista Business 32 bits

Fightspit
Posts: 510
Joined: 15.05.2005
With us: 19 years 6 months

Post #17by Fightspit » 09.11.2005, 17:34

Pour les fran?§ais/for the frenchies :wink: :
http://www.presence-pc.com/actualite/mi ... rite-12850

Code: Select all

Microsoft vient, comme chaque mois, de publier sa s?©rie de correctifs et annonce avoir d?©couvert une faille critique, incitant donc les utilisateurs ?  t?©l?©charger la mise ?  jour au plus vite. Il s?€™agirait d?€™un probl??me au niveau de la gestion des images par les derni??res versions de Windows (Windows XP et Windows Server) qui permettrait d?€™ins?©rer un code malicieux au sein d?€™une photo afin qu?€™il s?€™ex?©cute ?  l?€™insu de l?€™utilisateur. Il suffirait juste que l?€™image s?€™affiche ?  l?€™aide de n?€™importe quel moyen, par exemple lors d'une visite sur un site Internet, pour que le code permette au pirate d?€™ouvrir une porte afin de prendre contr??le de votre machine. Les utilisateurs de Windows XP ou Windows Server sont donc conseill?©s de mettre ?  jour leur syst??me rapidement.
Motherboard: Intel D975XBX2
Processor: Intel Core2 E6700 @ 3Ghz
Ram: Corsair 2 x 1GB DDR2 PC6400
Video Card: Nvidia GeForce 8800 GTX 768MB GDDR3 384 bits PCI-Express 16x
HDD: Western Digital Raptor 150GB 10000 rpm
OS: Windows Vista Business 32 bits

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #18by cartrite » 09.11.2005, 19:29

I switched over to another windows xp I have. This system had nvidia driver 78.03 beta installed. After Windows was updated, I had no problems. I did install the newer driver 81.85 and the problem reappeared. Rolled it back, and the problem dissappeared. I 'm using a GeForce Fx 5500 256 mb ram and Renderer: GeForce FX 5500/PCI/3DNOW!

I went thru nvidias archive and the drivers go from 78.01 to 81.85, so there are no drivers in between.

cartrite

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #19by cartrite » 10.11.2005, 10:12

I did some further investigation of this driver problem/windows update problem.

I reinstalled the 81.85 nvidia driver, uninstalled update kb896424, and the red earth was still there in open gl 2.0 rendering mode. However, All the textures were not effected. This seems to depend on how many textures were being loaded into the earth (spec map, nightside lights, normal map, clouds etc.) I have different settings for my VT's of earth via the ssc file. Not all of my VT's use all the maps.

Open gl info reported 4 simultanious textures and the max size to be 4k. for my card. But apparently this is not the case. When too many textures were loaded, the earth turned red in open gl 2.0 mode. All other modes were normal.

Again, on my system, this only happens with the newer nvidia driver and windows update had no effect. I'm going back to the old driver and leave this one for the experts.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #20by selden » 10.11.2005, 10:31

The problem also is seen with Nvidia's beta driver for Windows XP 32, v81.87 (its link is on Nvidia's driver selection page, just above the menu windows that provide access to the standard drivers).
Selden


Return to “Celestia Users”