Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#16038 closed bug (fixed)

[Devices] NULL names in DeviceManager

Reported by: rjzak Owned by: nobody
Priority: normal Milestone: R1/beta2
Component: System/Kernel Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

In build hrev54141_31 on the System76 Oryx Pro laptop, the R1B2 build booted the computer just fine, but running the Devices app yielded a kernel panic.

Part of the backtrace:

    <libroot.so> _kern_generic_syscall + 0x0c
    DeviewsView::AddDeviceAndChildren(unsigned long*, Device*) (repeats 6 times)
    DevicesView::RescanDevices()
    DeviewsView::DevicesView()
    DevicesWindow::DevicesWindow()
    DevicesApplication::DevicesApplication()
    main
    _start

Also shows:

    strlcpy
    control_device_manager(char const *, unsigned int, void*, unsigned long)
    _user_generic_syscall(char const *, unsigned int, void*, unsigned long)
    x86_64_syscall_entry

Attachments (2)

haiku_r1b2_panic.png (1.4 MB ) - added by rjzak 4 years ago.
haiku_b1r2_listdevices_cmd.png (2.0 MB ) - added by rjzak 4 years ago.
panic from the listdevices terminal command

Change History (15)

by rjzak, 4 years ago

Attachment: haiku_r1b2_panic.png added

comment:1 by waddlesplash, 4 years ago

Component: - GeneralSystem/Kernel
Keywords: kernel removed
Platform: x86-64All

A NULL dereference here is very odd. Can you get a "listdev" from that machine (or does this also cause KDLs?)

by rjzak, 4 years ago

panic from the listdevices terminal command

comment:2 by rjzak, 4 years ago

The listdev command also produced a kernel panic, still with strlcpy. If it helps, I have hrev54010 installed on the machine which doesn't have this problem.

comment:4 by waddlesplash, 4 years ago

Summary: [Devices] Kernel panic running the Devices app[Devices] NULL names in DeviceManager

Patch merged, but we should leave this open until we determine what is really going on between beta2 and master branch; I'd guess the KDEBUG setting is somehow related but I'm not sure why.

comment:5 by rjzak, 4 years ago

Why would there be null pointers in the kernel for the device name, attributes anyway?

comment:6 by waddlesplash, 4 years ago

Once there is a new build available with the patch, can you get both a master hrev and a beta hrev, and get listdevs from both, and attach them here? Then we should be able to determine what the difference is (i.e. what device is misbehaving.)

comment:7 by pulkomandy, 4 years ago

The attribute without name or without value should be possible to find by looking at attributes in Devices too. There shouldn't be NULL pointers there indeed, but it's easier to investigate this way than from the kernel debugger.

comment:8 by rjzak, 4 years ago

Sure, I'll try it again with new builds. How would I know the difference between the beta and master hrevs?

comment:9 by waddlesplash, 4 years ago

Master hrevs are a single "hrevXXXXX"; beta hrevs are "hrevXXXXX_XX". There are also 2 separate repos (a "master" repo and a "r1beta2" repo) and you can change between these and do a "pkgman full-sync" to switch.

comment:10 by waddlesplash, 4 years ago

rjzak: Is this still a problem on beta2, following the ACPI fixes?

comment:11 by rjzak, 4 years ago

No longer a problem

comment:12 by waddlesplash, 4 years ago

Resolution: fixed
Status: newclosed

OK, so the ACPI changes probably fixed this then.

comment:13 by nielx, 4 years ago

Milestone: UnscheduledR1/beta2

Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone

(final time)

Note: See TracTickets for help on using tickets.