Panda 1.9 (dev) on Win 7 x64

Trying to run dev x64 version on win 7 x64 causes crash when I trying to create instance of ShowBase. As far as I can see it happens when ShowBase attempts to create graphicsEngine.makeOutput.
What interesting - pview works well.
Any suggestion?

I’m interested in this too: I’m wondering whether it might not be the root cause of the problem that I’ve been having with creating a distributable version of my own projects using Panda 1.9. In particular, I note that my main testing machine uses Windows 7.

Woah! That’s bad! I’m on it, guys.

Is this a buildbot build or a custom one?

Both - i’ve trying buildbot version and custom build.
I’ve just found that something happend between 8 and 10 october. 454 build is work on my PC, but 456 - is not. 455 - is missing

I tried it earlier, and got a crash. I ran it under a debugger, and it stopped crashing. I’m running it outside of the debugger, and it no longer crashes. I can’t seem to reproduce it reliably.

Unfortunately, I changed a lot of things between 8 and 10 Oct. Could you perhaps check if it still happens when you switch to a different “load-display” line, such as “pandadx9” or “p3tinydisplay”?

Hmmm, it’s strange: at first time p3tinydisplay causes two error windows, but at second attempt Panda starts.

pandadx9 says “StandardError: No graphics pipe is available!”

Hmm, okay. That means that you didn’t compile with Direct3D 9 support (it requires the June 2010 DXSDK to be installed while building). Not a big deal.

I reproduced a crash while using the tinydisplay renderer, which was caused by Panda’s windowing system responding too early to the initial WM_SIZE event that Windows throws while the window is still being created. I just pushed a fix for that.

Now, I have no idea if this was the same crash that you were experiencing, or a different crash related to the tinydisplay renderer. Is just importing ShowBase and instantiating it enough to trigger the crash, ie. the following code also crashes for you?

from direct.showbase.ShowBase import ShowBase
show = ShowBase()

Yes, this code causes crash.
Not sure, but think it different errors, because when tinidisplay crashes I was not saw Panda window. When it happens on GL, at first I see p3d black window and after one-two seconds - error.

Addition: immediately after reinstalling preview has crashed at first run and then works at second

Another addition: on working version (454 build in my case) if I try to import something from panda3d.core before importing showbase then program also crashed on creating window, but if I do it after - not. it does not matter what exactly I import from core. Also using old style “from pandac.PandaModules import *” works well.

this not works:

from panda3d.core import Vec3
from direct.showbase.ShowBase import ShowBase
show = ShowBase()

but this - works O_o

from direct.showbase.ShowBase import ShowBase
from panda3d.core import Vec3
show = ShowBase()

and this - works o_O

from pandac.PandaModules import Vec3
from direct.showbase.ShowBase import ShowBase
show = ShowBase()

addition 3: behaviour of i386 build is similar.

Is there a topic for discussion of the problems, found in dev version?
So far I leave report here. I attach screenshot of what I see when run simple code with loading ‘smiley’. Result is the same on both my systems: Win 7 x64 and Ubuntu 14.10 amd64.
My videocard AMD HD4850 (RV770)

I’ve tried this with my own game, and a small test-program, (which use “import direct.directbase.DirectStart”) but with little effect.

The logs from the two games did have one difference that I thought might be worth reporting: the original version–that which imported DirectStart after other Panda-related importations–printed “Created splash window 00080752” into the log, while the other–which imported DirectStart first–did not; perhaps the crash (on my end, at least) is indeed related to ShowBase–unless some change in importation order caused it to decide to simply not create a splash window. This difference was not noted in the test-program, in which neither printed any mention of a splash window.

I should perhaps note that I made these builds by simply running “panda3d packp3d_dev.p3d” and “panda3d pdeploy_dev.p3d” (with relevant parameters, including the “installer” option for the latter), and haven’t checked for a more recent version of those two p3d files.

(Speaking of which, I note that the “per_platform” issue seems to persist in the builds thus produced, although I seem to recall a fix being committed–perhaps I’m doing something incorrectly?)

ninth: uh. With which version of the SDK do you get that disfigured smiley?

Thaumaturge: let’s use this thread to discuss the SDK issues, and discuss issues with the runtime in a separate thread.

24-25 sep. I mean on 24 sep. bulid smiley is Ok, and 25 - like on image
I think it a25a9e655ef27a225e7c48148a3f9037d85db128
“Support strip cut indices and (using those) support direct rendering of linestrips in OpenGL”

Right now I trying to revert this commit, build and and see what will happen

Yes, reverting this commit make ‘smiley’ looks ok.
May be make config variable to disable this feature if necessary?

Hmm, okay. I do know there were some bugs with my strip cut index implementation at the time, but I fixed them later on. I’d be interested to see if the smiley distortion still occurs in a recent build, and if not, it’s probably something I had already fixed.

I did indeed add a configuration variable to disable the strip cut implementation, but I added it much later. For reference, it is as follows:

gl-support-primitive-restart-index false

However, I think it might also be likely that it is simply that the old .bam corresponding to the smiley.egg file is no longer valid. If so, disabling or clearing the bam cache or editing the .egg file (to update the modification timestamp) should fix the issue.


Anyway, apart from all that, I’d be really interested in learning whether the crashes persist in today’s version of Panda3D, after the changes I checked in yesterday. For your convenience, I uploaded an SDK build here:
rdb.name/Panda3D-1.9.0-x64.exe

Thanks for your help so far!

“gl-support-primitive-restart-index false” working, thanks
actually on Ubuntu I used latest version from Github, so that the problem was not solved. As for cache - I tried different models, also disfigured even frame rate counter, simply on the smiley problem is visible very well.

Unfortunately latest build for Win still not work. May be there have debug output or something else to clarify where exactly crash happens?

Wait, you’re saying that the disfigured geometry also shows on recent builds? And on Ubuntu? Can you give me the output of the “glxinfo” command so that I get a better feel for the capabilities of your graphics card?

Hmm, debug logs might help. Add “notify-level debug” or even “notify-level spam” to your Config.prc file to make panda more verbose.

If you have Visual Studio 2010 Express installed, you could run something like this to debug the program:

vcexpress.exe /debugexe "C:\Panda3D-1.9.0-x64\python\ppython.exe" path\to\test.py

And hit Run, and when it crashes, look at what the Call Stack looks like.

Wow, out of curiosity, i just tried “gl-support-primitive-restart-index false” on Windows and it’s started! :open_mouth: But I still should use “from pandac.PandaModules import *” instead of “from panda3d.core import *”

No, unfortunately no, but think that i can download it and trying.

Yes. I attached glxinfo output.
glxinfo.txt.7z (4.32 KB)

I was wrong about “gl-support-primitive-restart-index false” on Win. Seems program started after I added “from pandac.PandaModules import *” which nedded for loadPrcFileData. If I comment this string or using “panda3d.core” then get error.