MantisBT - Zandronum
View Issue Details
0002486Zandronum[All Projects] Suggestionpublic2015-10-10 13:572018-09-30 22:16
Fastclick 
Torr Samaho 
normalminoralways
closedfixed 
MicrosoftWindowsXP/Vista/7
3.0-beta 
3.03.0 
0002486: *** ERROR: Tried to spawn a class-less actor
*** ERROR: Tried to spawn a class-less actor
Can we have more detail about this error ? I mean some info, where to start search for a problem, not just "trial-and-error method". Actor and string would be useful.
No tags attached.
? test_classless.pk3 (642) 2015-10-10 22:10
/tracker/file_download.php?file_id=1665&type=bug
Issue History
2015-10-10 13:57FastclickNew Issue
2015-10-10 15:08Torr SamahoNote Added: 0013646
2015-10-10 15:13DuskStatusnew => feedback
2015-10-10 15:15DuskNote Added: 0013647
2015-10-10 22:10FastclickFile Added: test_classless.pk3
2015-10-10 22:18FastclickNote Added: 0013656
2015-10-10 22:18FastclickStatusfeedback => new
2015-10-10 23:04FastclickNote Edited: 0013656bug_revision_view_page.php?bugnote_id=13656#r8136
2015-10-10 23:04DuskNote Added: 0013657
2015-10-10 23:04DuskNote Edited: 0013657bug_revision_view_page.php?bugnote_id=13657#r8138
2015-10-10 23:05FastclickNote Edited: 0013656bug_revision_view_page.php?bugnote_id=13656#r8139
2015-10-10 23:05DuskStatusnew => confirmed
2015-10-10 23:06DuskReproducibilityrandom => always
2015-10-12 15:43FastclickNote Added: 0013663
2015-10-12 15:45FastclickNote Edited: 0013663bug_revision_view_page.php?bugnote_id=13663#r8141
2015-10-12 18:34DuskNote Added: 0013664
2015-11-08 12:41Torr SamahoNote Added: 0013754
2015-11-08 12:41Torr SamahoAssigned To => Torr Samaho
2015-11-08 12:41Torr SamahoStatusconfirmed => needs testing
2015-11-08 12:41cobaltTarget Version => 3.0
2015-11-08 12:41cobaltDescription Updatedbug_revision_view_page.php?rev_id=8198#r8198
2015-11-08 12:41cobaltNote Added: 0013756
2015-11-08 13:14FastclickNote Added: 0013758
2015-11-08 15:00WaTaKiDNote Added: 0013760
2015-11-08 16:00FastclickNote Added: 0013762
2015-11-08 16:01FastclickNote Edited: 0013762bug_revision_view_page.php?bugnote_id=13762#r8200
2015-11-08 21:24DuskStatusneeds testing => resolved
2015-11-08 21:24DuskFixed in Version => 3.0
2015-11-08 21:24DuskResolutionopen => fixed
2018-09-30 22:16Blzut3Statusresolved => closed

Notes
(0013646)
Torr Samaho   
2015-10-10 15:08   
Please supply a minimal example wad that triggers the error.
(0013647)
Dusk   
2015-10-10 15:15   
FYI that error happens when it literally tries to spawn an actor without a class. So there's no information, no class name to give. You've run into a bug and we need more information to fix it.
(0013656)
Fastclick   
2015-10-10 22:18   
(edited on: 2015-10-10 23:05)
I found where is a problem.
I used nonexistent "bloodtype" in this actor. Minimal example wad uploaded.

To reproduce:
1. load test_classless.pk3
2. summon testdemon
3. shoot at it.

Online - server kick all clients and restarts with "Tried to spawn a class-less actor" error.
Offline - all fine.

(0013657)
Dusk   
2015-10-10 23:04   
Found the culprit. In the past the server went to spawn the blood actor if bloodtype <= 1 check didn't satisfy. Now it goes in there even if bloodcls is NULL.

(0013663)
Fastclick   
2015-10-12 15:43   
(edited on: 2015-10-12 15:45)
Glad that my mistake helped to find zan's problem, but that ticket is about this error in global meaning.
I mean: why error, not warning (can we ignore it, write to log and move on ?) Its not like "nothing trying to spawn nothing" its more like "something trying to spawn "bad_actor"". Can we have more detail about what courses it to happen (DECORATE\ACS string, or actor that trying to spawn "bad_actor") ?

P.S. Similar question about missing actor for model in MODELDEF (why error instead of warning?), but i presume, 1 problem - 1 ticket.

P.P.S. I'am newbie here so, accept my apologies, if I asking something on what the answer is obvious.

(0013664)
Dusk   
2015-10-12 18:34   
The engine spawns actors using actor classes (e.g. spawn an imp using the imp class). The error happens when the engine is creating an actor and find out that the actor class is missing. So it finds itself trying to spawn an actor without any idea what actor needs to be spawned. It would need to spawn *something* in order to continue execution. I guess it could spawn exclamation marks of doom instead but it wasn't me who made that decision (this behavior comes from ZDoom, even though it's a Zandronum bug which manages to trigger it).

MODELDEF is something completely different. I believe there's already a ticket for the issue you describe, I'm not very familiar with MODELDEF myself.
(0013754)
Torr Samaho   
2015-11-08 12:41   
The crash should be fixed now. Dusk is right about the error message. If the engine encounters this problem, it really doesn't know what it was supposed to spawn leading to a very generic error message.
(0013756)
cobalt   
2015-11-08 12:41   
Issue addressed by commit 8aca8366a316: Fixed a server crash related to actors with nonexistent BloodType (fixes 2486).
Committed by Benjamin Berkels [Torr Samaho] on Sunday 08 November 2015 13:38:37

Changes in files:

 src/p_mobj.cpp | 9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

(0013758)
Fastclick   
2015-11-08 13:14   
Can we have a build that contain 8aca836 and earlier commits ?
(0013760)
WaTaKiD   
2015-11-08 15:00   
'https://www.dropbox.com/s/f9lwn8d8ojsn75x/zandronum-3.0-r151108-1238-8aca836-windows.zip?dl=0 [^]'
(0013762)
Fastclick   
2015-11-08 16:00   
(edited on: 2015-11-08 16:01)
Can confirm, that bug is fixed. Thankyou.