Crash with 'Tried to access invalid particle channel (invalid ID)' #806
Comments
|
After git pull I lost my progress. :( So I cannot see the completed missions. But of course I can use the saved games. |
|
A bit off, I tried to download the 0.1.7b version and run it: |
|
I encountered the same problem when I was shooting alien ant and also shot uranium ore. During the destruction of uranium ore this error message appeared: Tried to access invalid particle channel. I used commit 407d855 |
|
I repeated shooting alien ant and uranium ore and couldn't reproduce the issue. So, the reproduction is unstable. |
|
Attacking one object at a time doesn't seem to produce this effect. It looks like it happens only when I attack two objects that are very close to each other. |
|
Max out all the graphics settings, then try the following crashsave to reproduce the crash. For me it always reproduces. |
|
I can confirm that it happen on this save. |
|
I have forked and I have a local copy to experiment with and I have been debugging this issue for some time. I discovered a few errors and some are fixed in the dev branch. I have a good idea of why this happens and it is very reproducible for me to trace in GDB or DDD as well as Eclipse. There are issues with particles and how that is integrated. As yet I do not have a complete grasp of the code base and there are places that I see could have major improvements like object "GOTO" could be way faster and more reliable. I am studying the how to dev documents and will see if I can't come up with a fix that isn't too complex that deals with the particle array assignment to specific objects. |
|
@paulmotey They already have unique IDs, see https://github.com/colobot/colobot/blob/dev/src/object/object.h#L216 I'm pretty sure the main problem in this issue is that I was messing with the particle implementation in 99a831a (and d80fa38) and I added this exception as a way to find all locations in the code that generated warnings in the logs. Some code is likely trying to call some function in CParticle with -1 or something, it should be rather easy to fix once I'll actually have some time to try to reproduce this issue. |
|
I added |
|
Hunting bug write memory at random was a wild goose chase. I accidentally triggered some incomplete functions that deal with teams and spent a great deal of time finding out it was not a memory problem at all. I did learn almost everything about the structure of the code and now have a decent understanding of its operation. |
|
This should be fixed now, sorry for the trouble |
Hi,
I was playing with a version I built and installed from dev not so long time ago.
Currently on Linux Mint 18.
It crashed with:
`INFO: Colobot: Gold Edition 0.1.8+alpha-git-dev~raa6345a starting
INFO: Creating CApplication
INFO: Data path: /opt/colobot/share/games/colobot
INFO: Save path: /home/avangel/.local/share/colobot
INFO: Opening audio device...
INFO: CApplication created successfully
INFO: Error on parsing config file: No such node (Experimental.OpenGLVersion)
INFO: Error on parsing config file: No such node (Experimental.OpenGLProfile)
INFO: Error on parsing config file: No such node (Experimental.MSAA)
INFO: Error on parsing config file: No such node (Experimental.VSync)
INFO: No joysticks detected
INFO: Error on parsing config file: No such node (Experimental.GraphicsDevice)
INFO: Creating CDevice - OpenGL 1.4
INFO: OpenGL 3.0 Mesa 11.2.0
INFO: Mesa DRI Intel(R) Haswell Mobile
INFO: Shadow mapping available (core)
INFO: Anisotropic filtering available
INFO: Maximum anisotropy: 16
INFO: Multisampling supported, max samples: 8
INFO: Auto-detecting VBO support
INFO: Core VBO supported
INFO: Maximum texture units: 8
INFO: Maximum texture size: 8192
INFO: Framebuffer supported (ARB)
INFO: Maximum renderbuffer size: 8192
INFO: CDevice created successfully
INFO: Closing joystick
INFO: Created shadow map texture: 2048x2048, depth 32
INFO: Reseting world on phase change...
INFO: Simulation speed = 1.00
INFO: Loading level: levels/missions/chapter006/level002/scene.txt
[WARN]: This level is using deprecated way of defining win scene. Please remove the win= parameter in EndingFile.
[WARN]: This level is using deprecated way of defining lost scene. Please change the lost= parameter in EndingFile from 0 to "levels/other/lost000.txt".
INFO: Start suspend
[WARN]: Creating non-power-of-2 texture (400x225)!
INFO: Stop suspend
INFO: Start suspend
[WARN]: Creating non-power-of-2 texture (400x225)!
INFO: Stop suspend
INFO: Reseting world on phase change...
INFO: Simulation speed = 1.00
INFO: Loading level: levels/missions/chapter006/level002/scene.txt
[WARN]: This level is using deprecated way of defining win scene. Please remove the win= parameter in EndingFile.
[WARN]: This level is using deprecated way of defining lost scene. Please change the lost= parameter in EndingFile from 0 to "levels/other/lost000.txt".
Unhandled exception occurred!
Type: std::runtime_error
Message: Tried to access invalid particle channel (invalid ID)
This is usually caused by a bug. Please report this on http://github.com/colobot/colobot/issues
including information on what you were doing before this happened and all the information below.
You seem to be running a custom compilation of version git-dev~raa6345a, but please verify that.
The game was in phase PHASE_SIMUL (ID=7)
Last started level was: category=missions chap=6 rank=2
Sorry for inconvenience!
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
AL lib: (EE) alc_cleanup: 1 device not closed
`
The text was updated successfully, but these errors were encountered: