[SOLVED] program freezes and spawns zombies

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

[SOLVED] program freezes and spawns zombies

Post by Cube_ »

I fetched a third person camera snippet from the forums, it seemed promising enough. So I read through it, it seems like it should work fine.
Then I compile it, and the application opens a terminal - freezes (executing exactly 0 cycles according to process hacker) and then when killed there are two zombie processes (presumably, or whatever the equivalent is under windows) each just sitting there eating 368K of memory, they neither use CPU, GPU, net, or disk - they're just dead - they cannot be killed either, they survive end task, taskkill /F, process hacker's terminators (including the dangerous TT4 kernel mode terminator) and even a log out. The only thing that does kill them is a complete power down (they do not have parents and as such cannot be killed even by tree killing)

additionally anything trying to view their stack freezes.
anything trying to mess with its threads also freezes.

attempting to debug it just freezes gdb, nothing else happens.

Code: Select all

#include "irrlicht.h"
 
using namespace irr;
using namespace core;
using namespace gui;
using namespace io;
using namespace video;
using namespace scene;
 
bool keys[irr::KEY_KEY_CODES_COUNT];
 
bool mouseDownL;
bool mouseDownM;
bool mouseDownR;
f32 lastWheelMovement;
position2d<f32> cursor;
position2d<f32> cursorOld;
position2d<f32> cursorDelta;
position2d<f32> cursorDeltaOld;
 
f32 cameraOrbit = 45;
f32 cameraAngle = 0;
f32 cameraDistance = 30;
f32 cameraOrbitOld = 0;
f32 cameraAngleOld = 0;
 
f32 playerX = 0;
f32 playerY = 0;
f32 playerZ = 0;
f32 playerCompass = 30;
f32 playerTurnTo = 0;
f32 playerTurnSpeed = 1;
f32 playerMoveSpeed = 0.01f;
 
class MyEventReceiver : public IEventReceiver
{
public:
   virtual bool OnEvent(const SEvent& event)
   {
      if(event.EventType == irr::EET_KEY_INPUT_EVENT)
      {
         keys[event.KeyInput.Key] = event.KeyInput.PressedDown;
         return false;
      }
 
      if (event.EventType == EET_MOUSE_INPUT_EVENT)
        {
         // left mouse button state check
         if(event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN)   mouseDownL = true;
         if(event.MouseInput.Event == EMIE_LMOUSE_LEFT_UP)      mouseDownL = false;
 
         // middle mouse button state check
         if(event.MouseInput.Event == EMIE_MMOUSE_PRESSED_DOWN)   mouseDownM = true;
         if(event.MouseInput.Event == EMIE_MMOUSE_LEFT_UP)      mouseDownM = false;
 
         if(event.MouseInput.Event == EMIE_MOUSE_WHEEL)
         {
            cameraDistance -= event.MouseInput.Wheel * (cameraDistance / 20) * 2;
            if(cameraDistance < 10) cameraDistance = 10;
            if(cameraDistance > 100) cameraDistance = 100;
         }
 
         // right mouse button state check
         if(event.MouseInput.Event == EMIE_RMOUSE_PRESSED_DOWN)
         {
            mouseDownR = true;
            cursorOld.X = (f32)event.MouseInput.X;
            cursorOld.Y = (f32)event.MouseInput.Y;
            cursorDelta.X = 0;
            cursorDelta.Y = 0;
            cursorDeltaOld.X = 0;
            cursorDeltaOld.Y = 0;
            cameraOrbitOld = cameraOrbit;
            cameraAngleOld = cameraAngle;
         }
         if(event.MouseInput.Event == EMIE_RMOUSE_LEFT_UP)      mouseDownR = false;
 
         // mouse move check
         if(event.MouseInput.Event == EMIE_MOUSE_MOVED)
            {
            // add condition that right mouse button be down
            if(mouseDownR == true){
               cursor.X = (f32)event.MouseInput.X;
               cursor.Y = (f32)event.MouseInput.Y;
               cursorDelta.X = (f32)((cursor.X - cursorOld.X) * 1.0);
               cursorDelta.Y = (f32)((cursor.Y - cursorOld.Y) * 1.0);
            if (cursorDelta.Y > (88 - cameraAngleOld)) {
               cursorOld.Y += (cursorDelta.Y - cursorDeltaOld.Y);
               cursorDelta.Y = 88 - cameraAngleOld;
            }
            if (cursorDelta.Y < (-88 - cameraAngleOld)) {
               cursorOld.Y += (cursorDelta.Y - cursorDeltaOld.Y);
               cursorDelta.Y = -88 - cameraAngleOld;
            }
            cursorDeltaOld.X = cursorDelta.X;
            cursorDeltaOld.Y = cursorDelta.Y;
               cameraOrbit = (f32)((int)(cameraOrbitOld + cursorDelta.X) % 360);
               cameraAngle = (f32)((int)(cameraAngleOld + cursorDelta.Y) % 360);
               if(cameraAngle > 88) cameraAngle = 88;
               if(cameraAngle < -88) cameraAngle = -88;
            }
 
            }
         return false;
 
        }
 
      return false;
   }
};
 
vector3df sphericalXYZ(f32 compassAngle, f32 elevationAngle, f32 radius){
 
   compassAngle = compassAngle * -1;
   elevationAngle = elevationAngle * -1;
 
   elevationAngle = elevationAngle + 90;
 
   f32 x = radius * cos(compassAngle * PI/180.0f ) * sin(elevationAngle * PI/180.0f );
   f32 z = radius * sin(compassAngle * PI/180.0f ) * sin(elevationAngle * PI/180.0f );
   f32 y = radius * cos(elevationAngle * PI/180.0f );
 
   vector3df result;
   result.X = x;
   result.Y = y;
   result.Z = z;
   return result;
}
 
int main()
{
    MyEventReceiver rv;
    IrrlichtDevice* device = createDevice(EDT_OPENGL,dimension2d<u32>(800,600),32,false,false,false, &rv);
    IVideoDriver* driver = device->getVideoDriver();
    ISceneManager* smgr = device->getSceneManager();
    IGUIEnvironment* guienv = device->getGUIEnvironment();
    ICursorControl* CursorControl = device->getCursorControl();
 
    CursorControl->setVisible(false);
 
    for(int x=0; x<irr::KEY_KEY_CODES_COUNT; x++) keys[x] = false;
 
    device->setWindowCaption(L"Irrlicht Custom Scene Node!");
    IGUIStaticText* debug_panel = guienv->addStaticText(L"Hello World",rect<s32>(5, 5, 200, 200),false,true,0,-1,false);
 
    ISceneNode* cPivot1 = smgr->addCubeSceneNode(0.5,0,-1,vector3df(playerX,playerY,playerZ));
    cPivot1->setMaterialTexture(0,driver->getTexture("media/wall.bmp"));
    cPivot1->setMaterialFlag(video::EMF_LIGHTING, false);
 
    ISceneNode* cPivot2 = smgr->addCubeSceneNode(2,cPivot1,-1,vector3df(0,1,0));
    cPivot2->setMaterialTexture(0,driver->getTexture("media/wall.bmp"));
    cPivot2->setMaterialFlag(video::EMF_LIGHTING, false);
 
    ISceneNode* cPivot3 = smgr->addCubeSceneNode(1,cPivot2,-1,vector3df(0,0,2));
    cPivot3->setMaterialTexture(0,driver->getTexture("media/wall.bmp"));
    cPivot3->setMaterialFlag(video::EMF_LIGHTING, false);
 
    ICameraSceneNode* myCamera = smgr->addCameraSceneNode(cPivot1, sphericalXYZ(cameraOrbit,cameraAngle,cameraDistance), cPivot1->getPosition());
 
    while(device->run())
    {
        if(keys[KEY_ESCAPE])
        {
            device->closeDevice();
        }
 
        if(keys[KEY_KEY_W])
        {
 
            vector3df playerStep = sphericalXYZ(cameraOrbit,0,playerMoveSpeed);
            playerX -= playerStep.X;
            playerY -= playerStep.Y;
            playerZ -= playerStep.Z;
 
            playerTurnTo = cameraOrbit - 90;
            if(playerTurnTo < 0) playerTurnTo += 360;
            if(playerTurnTo >= 360) playerTurnTo -= 360;
 
            if(playerCompass < 0) playerCompass = playerCompass + 360;
            if(playerCompass >= 360) playerCompass = playerCompass - 360;
 
            f32 playerTurnDir = 0;
            f32 playerTurnDelta = 0;
 
            if(playerCompass > playerTurnTo)
            {
                if(playerCompass - playerTurnTo < 180)
                {
                    playerTurnDir = -1;
                    playerTurnDelta = playerCompass - playerTurnTo;
                }
                else
                {
                    playerTurnDir = 1;
                    playerTurnDelta = (360 - playerCompass) + playerTurnTo;
                }
            }
 
            if(playerCompass < playerTurnTo)
            {
                if(playerTurnTo - playerCompass < 180)
                {
                    playerTurnDir = 1;
                    playerTurnDelta = playerTurnTo - playerCompass;
                }
                else
                {
                    playerTurnDir = -1;
                    playerTurnDelta = (360 - playerTurnTo) + playerCompass;
                }
            }
 
            f32 playerTurnAmount;
 
            if(playerTurnDelta < playerTurnSpeed)
            {
                playerTurnAmount = playerTurnDelta;
            }
            else
            {
                playerTurnAmount = playerTurnSpeed;
            }
            playerCompass += (playerTurnAmount * playerTurnDir);
 
 
            cPivot1->setPosition(vector3df(playerX,playerY,playerZ));
            cPivot2->setRotation(vector3df(0,playerCompass,0));
            myCamera->setTarget(vector3df(playerX,playerY,playerZ));
        }
 
        myCamera->setPosition(sphericalXYZ(cameraOrbit,cameraAngle,cameraDistance));
 
        stringw s(L"FPS : ");             s += driver->getFPS();
        s += L"\nleft mouse button : ";   s += mouseDownL;
        s += L"\nmiddle mouse button : "; s += mouseDownM;
        s += L"\nright mouse button : ";  s += mouseDownR;
        s += L"\nlast wheel movement : "; s += lastWheelMovement;
        s += L"\ncursor x : ";            s += cursor.X;
        s += L"\ncursor y : ";            s += cursor.Y;
        s += L"\ncursorOld x : ";         s += cursorOld.X;
        s += L"\ncursorOld y : ";         s += cursorOld.Y;
        s += L"\ncursorDelta x : ";       s += cursorDelta.X;
        s += L"\ncursorDelta y : ";       s += cursorDelta.Y;
        s += L"\ncamera orbit : ";        s += cameraOrbit;
        s += L"\ncamera angle : ";        s += cameraAngle;
        s += L"\nplayer compass : ";      s += playerCompass;
        s += L"\nplayer turn to : ";      s += playerTurnTo;
        debug_panel->setText(s.c_str());
 
        driver->beginScene(true, true, SColor(0,120,120,120));
        smgr->drawAll();
        guienv->drawAll();
        driver->endScene();
    }
 
    device->drop();
    return 0;
}
 
I can't for the life of me figure out the problem with this code - it's not particularly complicated and I stripped the unnecessary code from the snippet ( a custom scene node for generating some ground plane, and an int2string method that used microsoft functions (and that was redundant, one can append an int to a string without conversion) - either way the unstripped and stripped code both do not work, I stripped it as a part of debugging my reducing it to the minimium required code - starting with the scene node and int2string method as those are likely culprits (sprintf_s was replaced with snprintf in my original test, the only difference being an added buffer size - otherwise it should function identically)).

I don't even get a drawing window - irrlicht doesn't even print its own debug text such as build number and whatnot before it instantly dies.
Just a blank console with a blinking cursor, it's not waiting for input (I've double checked that more than once by reading the code and attempting input, the former yielded nothing, and the latter did nothing - it isn't accepting input at all (besides, if it was waiting for input that'd use cpu cycles, it isn't)).

My main project I'd inject this camera into once it works compiles just fine, it's just this one singular program that fails to run properly.
I'd almost wager it's a bug with mingw (gcc-4.8.1-tdm) at this point - something in the code causes it to never even reach the __start point of the program, so it never uses any cpu and just sits there - since it never reached __start it can't quit either.

If someone could verify this or help me solve it that'd be just swell, I've gone through the code with a fine-tooth comb and can't find the problem.

This is not what normal program behavior looks like:
Image

And obligatory irrlicht version: 1.8.3 (stable branch, right from the downloads section)
Last edited by Cube_ on Fri Nov 20, 2015 11:07 am, edited 1 time in total.
"this is not the bottleneck you are looking for"
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: third person camera freezes the program and spawns zombi

Post by mongoose7 »

It works for me. Are you including other files?

Set a breakpoint on main and see if it triggers.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: third person camera freezes the program and spawns zombi

Post by CuteAlien »

Might be hard to set a breakpoint if it freezes gdb :-)

But this does not sound like a problem with the code at all. Either something with the driver or a more general problem of your system. Maybe linking a wrong library version could also mess things up, but I wouldn't expect it to be that bad.

Try replacing that file with some other test-file from Irrlicht and check if that still works.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: third person camera freezes the program and spawns zombi

Post by Cube_ »

as I said, other projects work fine - such as the project I'm including this module in once I can figure out why it's not working.

they use the exact same libirrlicht.a and libirrlicht.dll, the examples compile fine using the exact same library - something with this specific project with this specific version of mingw seems to cause it (mingw-4.8.1-tdm, codeblocks is built with 4.7.x because of 'bugs' with building codeblocks with 4.8.1 but they didn't specify what said bugs were)

and it's indeed hard to set a breakpoint since gdb freezes instantly (at 0 cpu cycles, indicating that the generated machine code is wrong and fails to execute. this really should manifest in more concrete error handling such as a crash though - not three dead processes - two of which zombify instantly, the program doesn't even fork, there should only be one).

interestingly this also happens with known good code when in this project (specifically the hello world irrlicht tutorial).
theory: presumably either code::blocks, or mingw-4.8.1-tdm fails to properly parse a project with spaces in it - except it seemingly happens for this code in another project that lacks spaces (and the project this would be intergrated in has spaces)

theory#2: my build environment has become insane at some point since I created the initial project - all new projects are corrupt and always return broken builds

theory#3: I was cursed by satan himself to a life of arbitrary things breaking

I suppose a reboot is in order to keep debugging this, if that doesn't work then perhaps an exorcism...


(oh yeah, and it's definitely the correct irrlicht version - first of all it works in the main project, second of all I delete both the bin and lib folders before I build irrlicht to make sure there's no theoretical conflict anywhere)

I suppose my path could be relevant, PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\Program Files (x86)\Skype\Phone\;C:\Users\soz\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\soz\AppData\Local\Programs\Python\Python35-32\;C:\Program Files (x86)\CMake\bin

although it looks fine to me - cmake could theoretically have broken it but it's unlikely since I had to use cmake to build both boost and bullet.
"this is not the bottleneck you are looking for"
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: third person camera freezes the program and spawns zombi

Post by hendu »

You're going to reinstall anyways, might as well move to Ubuntu and save yourself an hour of install time ;)
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: third person camera freezes the program and spawns zombi

Post by mongoose7 »

I don't see where he says that gdb hangs on startup; I think it is valid to set a breakpoint on main. It certainly fails in createDevice, but that is apparently because of a bad driver install. I don't think we need worry about the development environment until he reinstalls the video driver. A bad video driver also explains why he creates zombies, as the video driver is kernel-mode.
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: third person camera freezes the program and spawns zombi

Post by Cube_ »

You're going to reinstall anyways, might as well move to Ubuntu and save yourself an hour of install time ;)
I already have an arch linux install and I'm not about to reinstall windows after a bloody month - that's just unreasonable (besides, I can't test windows builds using wine because wine is poop).
I don't see where he says that gdb hangs on startup; I think it is valid to set a breakpoint on main. It certainly fails in createDevice, but that is apparently because of a bad driver install. I don't think we need worry about the development environment until he reinstalls the video driver. A bad video driver also explains why he creates zombies, as the video driver is kernel-mode.
Right here mate
attempting to debug it just freezes gdb, nothing else happens.
as for bad driver install: that does not compute, it should affect ALL programs on the system, at the very least ALL irrlicht projects. But it only affects recently added projects, my main project can be recompiled fine - it will still run after a recompilation.

But here, to appease you:
breakpoint on main:
Image

After pressing the abort or pause button:
Image

the amount of time waited doesn't matter, I've let it sit for six hours while sleeping and it still hasn't done anything on either of the two steps (be it just starting gdb with a breakpoint on main or with trying to abort said gdb instance).

the project setting is pretty simple.
compiler, resource compiler, and linker search directories have "." added to them so it actually searches the working directory for the library files and header files I want to include that aren't global.

then I just link to libIrrlicht.a in the working directory - not much room for failure, additionally here's a debug run of my primary project:

Image
that was specifically rebuilt to work, it works with breakpoints, without breakpoints, while debugged, while not debugged.

It's just the test project and, seemingly, projects created after the test project and that's what I'm trying to debug here.

if it was the video driver it would
a) freeze on creating the video driver, not before reaching main.
and
b) affect all video related programs, including fallout 3, skyrim, and portal 2 (all of which additionally run fine on my system as well).
"this is not the bottleneck you are looking for"
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: third person camera freezes the program and spawns zombi

Post by mongoose7 »

I accept the gdb result.

But I think there is a difference between old programs and recently linked programs. If you relink the Irrlicht examples, do they still run? Do you link statically or dynamically?
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: third person camera freezes the program and spawns zombi

Post by Cube_ »

dynamically linked.

trying the hello world from the irrlicht examples folder (with my .dll, .a, and .def file - the def file really shouldn't be needed but I copy it over anyway) yields the same results (specifically: does not reach main - spawns zombies if there aren't any zombies).
At this point I'm 99% sure it's the compiler and I'd wager dropping to an older version of mingw is currently the most likely thing to solve the problem at hand - this is indeed what I will try next (that is, nuke mingw.4.8.1-tdm and downgrade to 4.7-tdm, followed by a proper reboot and a new test)

Although it is peculiar that the one project works and other projects do not - this would seem to indicate that it's not necessarily my library that's at fault but the makefiles generated.
Now if THAT's the case then something changed between
Wednesday, ‎November ‎11, ‎2015, ‏‎2:39:31 PM and Monday, ‎November ‎16, ‎2015, ‏‎1:12:55 AM - what could have changed in that timesapan? I don't know, that's assuming something did indeed change - perhaps some part of code::blocks just keeled over and died, or perhaps there's some bug in codeblocks that was triggered by something I did.
additionally it could also be blind luck that some subtle difference between my project and the test proejcts and example projects makes it work with 4.8.1 when the others do not.

In any case - I'm going to do that, get some sleep and then report back with if that solved it (and if that doesn't I'm really not sure how to proceed - perhaps migrating to another ide could hypothetically solve it)
"this is not the bottleneck you are looking for"
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: third person camera freezes the program and spawns zombi

Post by CuteAlien »

Just in case - run a memory test on your system. I had really crazy stuff like that once and it turned out to be a bad memory chip.
Most linux live-cd's come with a memory-test you can use on boot.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: third person camera freezes the program and spawns zombi

Post by Cube_ »

I haven't run in on this computer in question I'd be awfully surprised if it was a bad DIMM module, but I'm running out of ideas so I'll test it anyway - now where did I put that memtest86+/arch/various netboot images multiboot disk?

new compiler, new irrlicht build (hey! this one's smaller... only be some 200k but still), still same problem - if I try to debug it gdb freezes but gdbs output is consistent with 0 cycles, 0 cpu time.
there's no call stack, no cpu registry, no memory to view, no disassembly - nothing, zilch, nada.
"this is not the bottleneck you are looking for"
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: third person camera freezes the program and spawns zombi

Post by mongoose7 »

Is the problem that the loader is aborting? Have you checked the event logs? Have you reinstalled the video driver?
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: third person camera freezes the program and spawns zombi

Post by Cube_ »

Okay, 12h:30m is all the time I can allow the test to run - 48h+ is ideal but this should eliminate the odds of a bad DIMM module by 99.9% (besides, if any potential error isn't caught in 12 hours it shouldn't show itself on a freshly booted system)

event logs: nothing (I read through every category for items of relevance - turns out that there haven't been that many events generated in the last few days of any kind, that's normal - a lot of events indicates a lot going wrong)

Might as well attempt the voodoo and reinstall the driver too.
the 15.7.1 release notes do have this interesting information though:
[422800] Some “Kaveri” APU-based systems may experience minor performance drop on PCMark8® Video Group Chat & Casual Gaming tests

I suppose I'll try the 15.11.1 beta driver - if it's anything like in the past the beta line of drivers is somehow magically less error prone (probably voodoo/luck causing this observation)
"this is not the bottleneck you are looking for"
Cube_
Posts: 1010
Joined: Mon Oct 24, 2011 10:03 pm
Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d

Re: third person camera freezes the program and spawns zombi

Post by Cube_ »

quick update: the processes that become zombies are owned by avast - however this doesn't explain how they still fail to actually do anything.

zombies explained but behavior is yet to be explained - I'll try with and without avast running now that I have a new driver installed to see what I can narrow it down to.

EDIT: avast seems to be to blame - adding the project folder to the exclusions list prevented it from this alien behavior (however the sandbox popup didn't happen and programs SHOULD work eve if the sandbox happens).

I'm not entirely certain why this breaks though - my main project works fine even with avast scanning it, very strange.
I suppose I should update with [solved] - although the root cause of why this project breaks when scanned when others do not hasn't been found this is the best I can do - I don't have the time to debug this any further (nor the means) - I'll probably see if I can drop off a report to avast and see if they can improve their scanning behavior as to not break things.

alternatively someone smarter than me could take a stab at figuring out why some projects work when scanned and others do not (example of things that work: the project running in the screenshot above, every game I've tried from my steam library, examples of things that do not: this third person camera, irrlicht hello world depending on build date).

I'd wager it's some combination of avast being stupid (weird heuristics?), the build dates, the compiler version, and probably something else.
"this is not the bottleneck you are looking for"
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: third person camera freezes the program and spawns zombi

Post by CuteAlien »

OK, evil anti-virus software - I didn't consider that :-)
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply