Assertion failed: [...]atomicAdjustI386Impl.I, line 19

Hi there,

For some reason, i can’t get anything to work on my main computer. Even in the hello world, i get a black screen for a second or two that closes automagically.

from direct.showbase.ShowBase import ShowBase

class MyApp(ShowBase):

    def __init__(self):
        ShowBase.__init__(self)

app = MyApp()
app.run()

This, as well as any other panda3d code, results in this :

Known pipe types:
    wglGraphicsPipe
(all display modules loaded.)
Assertion failed: (((size_t)&var) & (sizeof(Integer) - 1)) == 0, file c:\buildslave\sdk-windows-i386\build\built\include\atomicAdjustI386Impl.I, line 19

On my laptop, everything runs fine. But on my desktop, I get this error with all panda3d python examples I could find.

Setup is :
Windows 10 (up to date)
Main GPU : RX580
Secondary GPU (No display attached ) : GTX970

Is there a way to have a more detailed error message so that I can help a bit more ?

Could you give a bit more information? Particularly, which version of Panda3D did you download, precisely? Did you get the 32-bit or the 64-bit version?

Hi,
I don’t know how to check for panda3d version but when I
panda3d.__ version __
i get ‘1.10.0’
I installed it through pip (pip install panda3d)

Which version of Python? A 32-bit or 64-bit version of Python?

Looks like I have python 32bits

Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)] on win32

I’ve bumped into the same problem on 32 bit windows 10.
I’ve got python 3.7.1, panda3d 1.10.1.dev14 (the newest build for win32 I could find). The only major difference is that it happens only if I have a gamepad plugged in (it will also crash I plug it in while a p3d program is running)

@Justin_Bacle Is there a gamepad plugged in? Could you try putting notify-level spam in your Config.prc file and attach the command-line output?

For what it’s worth, is there a particular reason you are using the 32-bit build? For most purposes one should be using a 64-bit build of Panda3D and Python.

I compiled a 32-bit version of Panda3D and got the same assertion, which did indeed turn out to be caused by an attached gamepad. So assuming you are getting the same issue, I’ve just checked in a fix:

The automatic build server is not currently functioning well, so here is a wheel you could try:
http://rdb.name/panda3d-1.11.0-cp37-cp37m-win32.whl

However, I recommend installing the 64-bit version of Python and Panda3D instead if at all possible.

@rdb that is totally true, I unplugged my Xbox 360 controller, and everything works as expected !
I would never have thought of that ! my controller is plugged in all the time :slight_smile:
At least we now know where does that error comes from !
As for the 32bit version, i just installed python3 and panda via pip, I haven’t really gave it much thought about 32 vs 64 bit TBH