Opened 10 years ago

Closed 7 years ago

#466 closed defect (fixed)

ACPI 3.18 full hangs on loading UNIAUD driver at end of loading all device drivers

Reported by: ecsnl Owned by: eco
Priority: major Milestone: Feedback pending
Component: ACPI PSD Version: 3.16
Keywords: Cc:

Description

Oke I tested ACPI318FULL.ZIP. I still had your build of your uniaud installed Pasha:

Build Level Display Facility Version 6.12.675 Sep 25 2001 (C) Copyright IBM Corporation 1993-2001 Signature: @#Netlabs:1.1#@##1## 9 Nov 2009 08:43:36 pasha

::::4::

RC7@@Universal Audio MMPM/2 Driver for eComStation Vendor: Netlabs Revision: 1.01 Date/Time?: 9 Nov 2009 08:43:36 Build Machine: pasha FixPak? Version: RC7 File Version: 1.1.4 Description: Universal Audio MMPM/2 Driver for eComStation

When I boot my machine in APIC mode it hangs when the last device driver is loaded. When UNIAUD is not loaded the machine boots up and works.

The file attached is the debug output of the PSD to the comport. The machine after the last line HANGS solid. (No CTRL ALT DEL or memory dump etc). Did not load debug kernel.

acpidebugoutput.txt is from acpi.psd with the switches /acic /smp /vbe

So the current bldlevel I have loaded is this

Build Level Display Facility Version 6.12.675 Sep 25 2001 (C) Copyright IBM Corporation 1993-2001 Signature: @#netlabs dot org:3.18#@##1## 10 Dec 2009 13:57:27 pasha::: :0::@@ ACPI core PSD Driver. (c) netlabs.org 2005-2009 Vendor: netlabs dot org Revision: 3.18 Date/Time?: 10 Dec 2009 13:57:27 Build Machine: pasha File Version: 3.18 Description: ACPI core PSD Driver. (c) netlabs.org 2005-2009

Change History (40)

Changed 10 years ago by ecsnl

comment:1 Changed 10 years ago by ecsnl

Oke I ran more tests. I kept the new ACPI.PSD 3.18 from acpifullbuild.zip installed and install UNIAUD from eComStation 2.0 RC 7 (dated June 2009). This one always worked with ACPI running in /APIC mode on my T60 laptop. This build also hangs the system when the last device driver is loaded.

Running ACPI 3.18 without switches UNIAUD loads just fine and works.

So it seems that the APIC support in the PSD has a bug. Especially since two UNIAUD builds half a year apart that always worked in APIC mode with previous builds of ACPI no longer function with the new build.

comment:2 Changed 10 years ago by ecsnl

Pasha send to me acpitst1.zip, debug output in acpilog.doc

Build Level Display Facility Version 6.12.675 Sep 25 2001 (C) Copyright IBM Corporation 1993-2001 Signature: @#netlabs dot org:3.18#@##1## 10 Dec 2009 18:32:37 pasha::: :0::@@ ACPI core PSD Driver. (c) netlabs.org 2005-2009 Vendor: netlabs dot org Revision: 3.18 Date/Time?: 10 Dec 2009 18:32:37 Build Machine: pasha File Version: 3.18 Description: ACPI core PSD Driver. (c) netlabs.org 2005-2009

Changed 10 years ago by ecsnl

comment:3 Changed 10 years ago by ecsnl

Pasha send a debugbuild of the PSD, output in debugoutput_uniaudcrazy.txt. The PSD with UNIAUD loaded works! Pasha just wrote on IRC might be problem with embedded controller.

ACPI.CFG has setting: Polling Part for embedded controller.

Build Level Display Facility Version 6.12.675 Sep 25 2001 (C) Copyright IBM Corporation 1993-2001 Signature: @#netlabs dot org:3.18#@##1## 10 Dec 2009 18:32:37 pasha::: :0::@@ ACPI core PSD Driver. (c) netlabs.org 2005-2009 Vendor: netlabs dot org Revision: 3.18 Date/Time?: 10 Dec 2009 18:32:37 Build Machine: pasha File Version: 3.18 Description: ACPI core PSD Driver. (c) netlabs.org 2005-2009

Uniaud does load! But when MP3 file is played the audio breaks ups!

At the moment the PSD the audio would hang, on the debug terminal this output was displayed:

14:51:48.51 APM: internal info 14:51:51.46 Emm CHK do Q:0x20 CPU:1 14:51:51.66 EC stat 8 14:51:51.85 EC queue data 1D 14:51:51.88 EC arm "_Q1D" N:0 Cur:0 14:51:52.0 Emm CHK end 14:51:52.0 == Beg Exec EC 0 == 14:51:52.1 == End Exec EC 1 queue == 14:51:53.2 Emm CHK do Q:0x22 CPU:1 14:51:53.15 EC stat 8 14:51:53.22 EC queue data 1D 14:51:53.23 EC arm "_Q1D" N:1 Cur:1

See debugoutput_uniaudcrazy.txt for full output.

Changed 10 years ago by ecsnl

comment:4 Changed 10 years ago by ecsnl

Just for clarity hangs with the current debug build on my T60 can be created with UNIAUD by just pressing the volume buttons (which create an ACPI event)

comment:5 Changed 10 years ago by ecsnl

Hello Pasha,

You mentioned on friday the 11th of december in an IRC chat that you confirmed the problems I see with UNIAUD are in embedded controller code. Over the last few days I have had hangs when I open and close the screen of my laptop. And it was frozen 1 time EXACTLY when I plugged in the power cable.

Just to confirm. Its with the ACPI318ACPI.FULL.zip

comment:6 Changed 10 years ago by ecsnl

It turned out the last log was not oke. I had provided /APCI in stead of /APIC the UNIAUD hang is still there. With a new build I created a new log.

debugoutput_uniaudhang15_12_2009.txt

Changed 10 years ago by ecsnl

comment:7 Changed 10 years ago by jojo

This is Roderick but logged in as Joachim :-) This is with a new debug build on the T60, output attached.

File called: debugoutput_uniaudhang16_12_2009.txt

Changed 10 years ago by jojo

comment:8 Changed 10 years ago by jojo

Another debug build, output now in debugoutput_uniaudhang16_12_2009_log2.txt

comment:9 Changed 10 years ago by jojo

Oke again new log with new debug build:

debugoutput_uniaudhang16_12_2009_log3.txt

comment:10 Changed 10 years ago by jojo

Log

debugoutput_uniaudhang16_12_2009_log4.txt ignore text from line 434 and further second boot. Log ends at line 433, last lines from started boot.

comment:11 Changed 10 years ago by jojo

debugoutput_no_uniaud_hang16_12_2009_log5.txt was created for Pasha with the latest debug PSD he send and with no uniaud loaded. This makes the system boot to the WPS.

comment:12 Changed 10 years ago by jojo

Ignore trap debugoutput_no_uniaud_hang16_12_2009_log5.txt in log this is trap that happens with debug kernel loaded and acpi. Ignore first 10 lines of log debugoutput_no_uniaud_hang16_12_2009_log5.txt also.

First 10 lines of wrong boot.

comment:13 Changed 10 years ago by jojo

debugoutput_with_uniaud_hang16_12_2009_log5.txt is with uniaud loaded again hang at same point.

comment:14 Changed 10 years ago by jojo

Loading with a custom version of uniaud32 and uniaud16 from Pasha that works on his system made no difference.

Changed 10 years ago by jojo

comment:15 Changed 10 years ago by jojo

Log created for ACPI.PSD 3.18 with ACPIOnly switch in acpi.cfg at request of Pasha, resulting logfile is:

acpionly_switch_acpionly.log

Seems to hang in loop, loop output with text like:

19:29:45.0 Mask IRQ1 Line1 - 51 Adr:FFE46000 19:29:45.0 Mask IRQ8 Line8 - 9070 Adr:FFE46000 19:29:45.0 Mask IRQ17 Line17 - A081 Adr:FFE46000 19:29:45.0 Mask IRQ18 Line18 - A082 Adr:FFE46000 19:29:45.0 Mask IRQ19 Line19 - A083 Adr:FFE46000 19:29:45.0 Mask IRQ20 Line20 - A084 Adr:FFE46000 19:29:45.0 Mask IRQ21 Line21 - A085 Adr:FFE46000 19:29:45.0 Mask IRQ22 Line22 - A086 Adr:FFE46000 19:29:45.0 Mask IRQ23 Line23 - A087 Adr:FFE46000

comment:16 Changed 10 years ago by ecsnl

With the debug build that Pasha send me of UNIAUD32 and his acpi.psd I installed that on my T60. Resulting log is debugoutput_with_uniaud_hang17_12_2009_log7.txt

Its does not hang anymore, it comes slightly further in the boot process but then after the last line in the LOG, my laptop traps in JFS.IFS.

Seems some memory gets corrupted ?

comment:17 Changed 10 years ago by pasha

You need boot from CD, chkdsk /f to boot drive and repeat operations. Seems from log, problem with IRQ is absent with last unaud

comment:18 Changed 10 years ago by ecsnl

On IRC you mentioned I need to fix the trap in JFS. Thats not true. The trap came around because that new debug build somehow made the system continue. But something in memory is getting gastly corrupted (something dies a horrible death).

What I also mentioned on IRC in one of the many testruns the system would get past the hang but all device call and run statements (as long as I waited for it to slowly load further) would all come back to the screen with an error message from OS/2 the program is invalid.

In conjunction with the CALL and RUN statements being loaded AND JFS nor working it obvious its something else then a JFS error.

comment:19 Changed 10 years ago by stevenhl

After some quality time with the kernel debugger and the builds that Roderick was using when he first experienced the hang I can see why the boot does not complete.

The basic flow is

h_syiProcess
  ...
  syiInstallDeviceDrivers
    ...
    sicgf0 
      to_return
        g_KMExitkmodeEvents
          RHUBCTXHOOKRTN (usbuhci)
            ...

              SuppressProcessing (usbd)
                DevHelp_ProcBlock - hangs here - even though wait is timed

The ProcBlock? never returns even though the wait is timed. The hangs the ctx thread and indirectly prevents the sysinit thread from finishing and terminating.

Note that the context hook is run for usbuhcd the ProcBlock? is issued within an IDC call. It is unclear how anything uniaud does could prevent a ProcBlock? issued by usbd from timing out, but it does. Older uniaud builds do not trigger the hang.

comment:20 Changed 10 years ago by erdmann

I remember some discussions of how to ensure that the Block ID is really globally unique. Maybe in this case, UNIAUD itself calls ProcBlock? but does not ensure a globally unique Block ID and per coincidence it exactly matches the one USBD uses ?

comment:21 Changed 10 years ago by pasha

you have access to source, when you can say why:

IRQ8 Line8 - D070 Adr:FFE46000

...

IRQ19 Line19 - F083 Adr:FFE46000

then you answer for all blocking.

Changed 10 years ago by jojo

comment:22 Changed 10 years ago by jojo

ZOC0912.LOG created when system was just loading last basedev driver, bootlogo was still displayed. New debug PSD send by Pasha.

comment:23 Changed 10 years ago by ecsnl

As discussed with Steve and Pasha on IRC I would test the ACPI builds that I could find from the ACPI FTP. And report which version worked and when ACPI stopped working. Stopped working in the sense it would hang after uniaud was loaded.

The last release was ACPI318FULL.ZIP the date of the ACPI.PSD was 10th of December 2009. The buildlevel of this version 10 Dec 2009 13:57:27. This one fails.

In the FTP respository I could find no earlier zip file then ACPI318APIC.ZIP. This one does not have the UNIAUD hang problem! bldlevel: 19 Nov 2009 16:58:37 date of the time is the 19th of november 2009. Name of the zipfile is ACPI318APIC.ZIP

comment:24 Changed 10 years ago by stevenhl

This means the hang is probably the result of something done in changeset 225.

comment:25 Changed 7 years ago by dazarewicz

  • Milestone changed from Release version 3.19 to Feedback pending

This ticket is extremely old and for an unsupported version. Please try the current versions of all applicable drivers.

comment:26 Changed 7 years ago by dazarewicz

  • Resolution set to fixed
  • Status changed from new to closed

No response from reporter. Assumed fixed in current version.

Note: See TracTickets for help on using tickets.