Operating System - OpenVMS
1755755 Members
3842 Online
108838 Solutions
New Discussion юеВ

Bugcheck 0000038D (INCON_SCHED) during boot on emulated ES40

 
SOLVED
Go to solution
Camiel
Frequent Advisor

Re: Bugcheck 0000038D (INCON_SCHED) during boot on emulated ES40

Hello everyone,

It took me a while, but I finally managed to write a sysdump that analyze could read.

For those interested, I've put the system dump files in a file called sysdump.zip, that can be downloaded from the following page:

http://sourceforge.net/project/showfiles.php?group_id=187340

I very much appreciate any help you could give me!

Thanks,

Camiel.
Camiel
Frequent Advisor

Re: Bugcheck 0000038D (INCON_SCHED) during boot on emulated ES40

From what I can make from ANALYZE (this is the first time I've ever used that utility), the crash occurred in SCH$FIND_NEXT_PROC_1CPU_C + 34. Perhaps that helps...
Jur van der Burg
Respected Contributor
Solution

Re: Bugcheck 0000038D (INCON_SCHED) during boot on emulated ES40

I had a quick look at the dump. We crash in the scheduler because the comq where we want to find a pcb in the scheduler is empty. To cut a long story short, the problem most likely is in the implementation of the CTTZ instruction (Count Trailing Zero). You claim to emulate an EV6, and for that cpu a specific path in the scheduler is taken. There's a bitfield indicating which priority queue is filled (00008000.00000000 in this case), prio 16 (numbered from msb to lsb). The result of this instruction should be 2F (hex), but the real result is 40 causing the index into an array to be off with the bugcheck as a result.

In my previous life I would have swapped the hardware :-).

Next time you don't need to post sys$errlog.dmp as it does not contain what you might think.

Jur.
Jur van der Burg
Respected Contributor

Re: Bugcheck 0000038D (INCON_SCHED) during boot on emulated ES40

And here's your problem (CTLZ has this problem too):

#define DO_CTTZ \
temp_64 = 0;\
temp_64_2 = V_2;\
for (i=0;i<64;i++)\
if ((temp_64>>i)&1)\ <<<<<<<<<<<
break;\
else \
temp_64++;\
r[REG_3] = temp_64;

Jur.
Camiel
Frequent Advisor

Re: Bugcheck 0000038D (INCON_SCHED) during boot on emulated ES40

Here's a big thank you to everyone who spent their valuable time trying to help me, and especially to Jur van der Burg! You have completely solved the problem.

For those interested, I put the fixed source-code (version 0.11, includes some more changes) up for download at http://sourceforge.net/project/showfiles.php?group_id=187340