Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 23726 - power off usb printer, hang the machine
Summary: power off usb printer, hang the machine
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Jay Pfeifer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-29 16:51 UTC by Voltron Rex
Modified: 2003-10-11 12:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Voltron Rex 2003-06-29 16:51:07 UTC
Greetings,

I just had something pretty suprising happen. After watching some movies while
using bittorrent and listening to xmms, I turned off my HP 3320 USB printer. The
machine immediately completely froze. I had to reset.

In /var/log/messages, I found this:

===================

goryGroup.getAttribute("char_index"));
  if (index && index >= 0)
    indexM = index;


  switch (category)
  {
    case "AccentUpper": // Uppercase Diacritical
      CategoryGroup.selectedItem = AccentUpper;
      indexM_AU = indexM;
      break;
    case "AccentLower": // Lowercase Diacritical
      CategoryGroup.selectedItem = AccentLower;
      indexM_AL = indexM;
      break;
    case "Upper": // Uppercase w/o Diacritical
      CategoryGroup.selectedItem = Upper;
      indexM_U = indexM;
      break;
    case "Lower": // Lowercase w/o Diacritical
      CategoryGroup.selectedItem = Lower;
      indexM_L = indexM;
      break;
    default:
      category = "Symbol";
      CategoryGroup.selectedItem = Symbol;
      indexM_S = indexM;
      break;
  }

  ChangeCategory(category);
  initialize = false;
}

function ChangeCategory(newCategory)
{
  if (category != newCategory || initialize)
  {
    category = newCategory;
    // Note: Must do L before M to set LatinL.selectedIndex
    UpdateLatinL();
    UpdateLatinM();
    UpdateCharacter();
  }
}

function SelectLatinLetter()
{
  if(LatinL.selectedIndex != indexL )
  {
    indexL = LatinL.selectedIndex;
    UpdateLatinM();
    UpdateCharacter();
  }
}

function SelectLatinModifier()
{
  if(LatinM.selectedIndex != indexM )
  {
    indexM = LatinM.selectedIndex;
    UpdateCharacter();
  }
}
function DisableLatinL(disable)
{
  if (disable) {
    LatinL_Label.setAttribute("disabled", "true");
    LatinL.setAttribute("disabled", "true");
  } else {
    LatinL_Label.removeAttribute("disabled");
    LatinL.removeAttribute("disabled");
  }
}

function UpdateLatinL()
{
  LatinL.removeAllItems();
  if (category == "AccentUpper" || category == "AccentLower")
  {
    DisableLatinL(false);
    // No Q or q
    var alphabet = category == "AccentUpper" ? "ABCDEFGHIJKLMNOPRSTUVWXYZ" :
"abcdefghijklmnoprstuvwxyz";
    for (var letter = 0; letter < alphabet.length; letter++)
      LatinL.appendItem(alphabet.charAt(letter));

    La  }
  else
  {
    // Other categories don't hinge on a "letter"
    DisableLatinL(true);
    // Note: don't change the indexL so it can be used next time
  }
}

function UpdateLatinM()
{
  LatinM.removeAllItems();
  var i, accent;
  switch(category)
  {
    case "AccentUpper": // Uppercase Diacritical
      accent = upper[indexL];
      for(i=0; i < accent.length; i++)
        LatinM.appendItem(accent.charAt(i));

      if(indexM_AU < accent.length)
        indexM = indexM_AU;
      else
        indexM = accent.length - 1;
      indexM_AU = indexM;
      break;

    case "AccentLower": // Lowercase Diacritical
      accent = lower[indexL];
      for(i=0; i < accent.length; i++)
        LatinM.appendItem(accent.charAt(i));

      if(indexM_AL < accent.length)
        indexM = indexM_AL;
      else
        indexM = lower[indexL].length - 1;
      indexM_AL = indexM;
      break;

    case "Upper": // Uppercase w/o Diacritical
      for(i=0; i < otherupper.length; i++)
        LatinM.appendItem(otherupper.charAt(i));

tinL.selectedIndex = indexL;

====================

It goes on for quite a long time like this. At the time, the printer wasn't
printing. I had printed something earlier today but it completed a long time ago.

Let me know if there's anything else I should tell you. I'm using kernel
gentoo-sources-2.4.20-rc5. 

Emerge info is available in my 4 other bugs.

Thanks
Ben
Comment 1 Heinrich Wendel (RETIRED) gentoo-dev 2003-06-30 05:03:30 UTC
very weird error, are you using some special printer software, hpoj or something like that? 
Comment 2 Heinrich Wendel (RETIRED) gentoo-dev 2003-06-30 05:04:47 UTC
and is this error reproducibly? 
Comment 3 Voltron Rex 2003-06-30 16:04:49 UTC
Greetings

I'm using hpijs, 1.4.1 (the version in portage didn't work). I didn't think it was reproducible, but what do you know? I turned off my printer before my computer and it hung again. 

My guess is something is screwed with the usb module. This time, instead of finding C++ in /var/log/messages, I got this right at the hang:

Jul  1 00:46:25 gem printer.c: usblp0: unknown error
Jul  1 00:47:53 gem printer.c: usblp0: unknown error
Jul  1 00:49:20 gem printer.c: usblp0: unknown error

To be sure, I won't turn off my printer anymore unless the computer is off!

Thanks
Ben
Comment 4 Heinrich Wendel (RETIRED) gentoo-dev 2003-06-30 22:11:44 UTC
well, next step would be to try a different kernel, e.g. vanilla-sources-2.4.21 
Comment 5 Voltron Rex 2003-07-10 01:17:12 UTC
Greetings

I tried vanilla-sources; turning off the printer did not hang the machine.
Comment 6 Thomas Raschbacher gentoo-dev 2003-07-10 06:07:38 UTC
since it seems to be a kernel issue ...
Comment 7 Heinrich Wendel (RETIRED) gentoo-dev 2003-10-07 08:22:36 UTC
can you reproduce that with gentoo-sources-r7?
Comment 8 Heinrich Wendel (RETIRED) gentoo-dev 2003-10-11 12:06:33 UTC
see last comment.