Opened 6 years ago

Closed 6 years ago

Last modified 15 months ago

#14660 closed bug (fixed)

Keyboard/mouse not working

Reported by: exstrim401 Owned by: waddlesplash
Priority: high Milestone: R1/beta2
Component: - General Version: R1/Development
Keywords: keyboard, mouse Cc:
Blocked By: Blocking:
Platform: x86

Description

After update from 52407 to 52243 keyboard and mouse are working only in safe mode.

Attachments (1)

backtrace.jpg (1.8 MB ) - added by hugeping 6 years ago.
bt before deadlock

Download all attachments as: .zip

Change History (16)

comment:1 by waddlesplash, 6 years ago

That's a downgrade, not an upgrade. Are you sure you got that right?

comment:2 by exstrim401, 6 years ago

sorry it's a typo. from 52407 to 52441

comment:3 by waddlesplash, 6 years ago

Owner: changed from nobody to waddlesplash
Status: newin-progress

Ah, it seems I accidentally introduced a nasty deadlock in the network drivers, which really should become a KDL instead of just a hang due to how it's working with mutexes. Fix incoming.

comment:4 by waddlesplash, 6 years ago

Resolution: fixed
Status: in-progressclosed

Fixed in hrev52454.

comment:5 by hugeping, 6 years ago

After upgrade to 52454 (x86_gcc2) i have got "stuck" desktop (just cyan background). Event KDL cant be invoked from keyboard.

Blacklisting iprowifi2100 is helps (before upgrade it worked fine).

After building my own version of haiku.hpkg with reverting this

+                       // some drivers expect probe() to be called before attach()
+                       // (i.e. they set driver softc in probe(), etc.)
+                       if (device->methods.probe(device) >= 0
+                                       && device_attach(device) == 0) {

To this:

+                       if (device_attach(device) == 0) {

I can load and run with iprowifi2100..

It looks very strange, because ipw_probe does not anything unusual...

But hope, it helps....

Update: i have returned this commit again, and it ... working... So, this is not the problem. Will check what i am building here...

Last edited 6 years ago by hugeping (previous) (diff)

comment:6 by hugeping, 6 years ago

Ok, sorry, i don't understend what going on... Rebuild all from git and installed it.. All works fine. But "updating" to packages from repo is halting my system.... May be, it is good idea just to wait new "official" builds...

comment:7 by waddlesplash, 6 years ago

That's.. weird? hrev52454 really should have fixed the issue.

Are you using an old version of iprowifi in non packaged? That may be the culprit here. At any rate, dropping into KDL and then seeing if there's a net_server thread blocking the whole OS may be worthwhile.

comment:8 by hugeping, 6 years ago

Ok, today i upgraded to 52460. And got stuck again. I can't invoke KDL from keyboard. Just deadly stucked at blank desktop bg.

So, i did "git pull of haiku", jam -q. Rebuild all hpkg myself and installed them by hand: pkgman install.. And... it all works ok!

It is some mistiq. I cant understand whats going on... I was trying rebuild from scratch, but it is the same. My own builds are working. But packets from repo make deadlock...

What could it be?....

comment:9 by hugeping, 6 years ago

Checked non-packaged dir, all clean there... Was trying to enable on screen log, but it screened by background. So, when the system is stucked, there are no on screen log.

P.S. same revisions are working on x86_64 machine. the problem only with x86_gcc2 build...

Last edited 6 years ago by hugeping (previous) (diff)

comment:10 by waddlesplash, 6 years ago

I suppose you could try the following:

A) Try enabling safe mode options until you find a combination that works.

B) Blacklist the entire add-ons/kernel/drivers/dev/net directory and see if that helps (or your individual network drivers in add-ons/kernel/drivers/bin/ if you know them.)

C) Try to locate an alternative keyboard, or attach a serial port if you can, to determine what's really going on.

If all else fails, I can try to compare a local package build with a remote one to see exactly what the differences are, but I presume they'll be rather large...

comment:11 by hugeping, 6 years ago

I got interesting news.

Legend:

The system is pentium. 1 logical CPU.

There are two interfaces: ipro100 (wire) and iprowifi2100 (wifi)

what i did:

1) rollback from my own build to 52460 and reproduced deadlock.

2) blacklisted iprowifi2100 and boots fine (without wifi).

3) while running OS, i added to non-packaged dir iprowifi2100, looked as it loaded and connected to Wifi. All works fine...

4) rebooted and blacklisted ipro100 (not wifi!) loaded and got wifi card working well!!! So, the problem in fbsd initialization code (it looks so)

5) i rebooted few times (5 or 6) invoking KDL (alt-sysreq-d) just BEFORE daeadlock. I _always_ got net_server context and fbsd init. I have attached this bt.

by hugeping, 6 years ago

Attachment: backtrace.jpg added

bt before deadlock

comment:12 by hugeping, 6 years ago

vm_page_allocate_page_run + 0x46c -- this place is always in backtrace... it is enteresting...

Version 0, edited 6 years ago by hugeping (next)

comment:13 by hugeping, 6 years ago

Ok. After i blacklisted ipro100 on stock haiku.hpkg and successfully load, adding ipro100 to non-packaged leads to deadlock. (ipro100 is builded by me)

But on haiku.hpkg builded by me, blacklisting ipro100 and loading it later via adding to non-packaged give nothing. System just works fine...

comment:14 by waddlesplash, 6 years ago

OK, please open a new ticket and attach the following files:

1) ipro100 driver built by you
2) ipro100 driver from the stock haiku.hpkg
3) kernel_x86 built by you
4) kernel_x86 from the stock haiku.hpkg.

I have a few hunches about what the problem might be, but this will help investigate anyway.

Note: See TracTickets for help on using tickets.