Opened 9 years ago

Closed 2 years ago

#12024 closed bug (fixed)

Preflet crashed while trying to select wifi network

Reported by: haiqu Owned by: pulkomandy
Priority: critical Milestone: R1/beta4
Component: Preferences/Network Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #12023, #14414, #15848
Platform: All

Description

Using the Network preflet, experienced a crash twice in a row trying to select the network from the dropbox. Attachments.

Attachments (3)

Network-692-debug-26-04-2015-19-47-26.report (12.1 KB ) - added by haiqu 9 years ago.
Network-910-debug-19-01-2021-18-20-58.report (12.1 KB ) - added by jscipione 3 years ago.
Network-910-debug-19-01-2021-18-20-58.report
Network-1417-debug-22-09-2021-16-37-29.report (14.4 KB ) - added by Coldfirex 3 years ago.

Download all attachments as: .zip

Change History (19)

comment:1 by diver, 9 years ago

Blocking: 12023 added

comment:2 by pulkomandy, 7 years ago

The menu is periodically emptied and re-populated with an up to date list of wifi networks. It seems that it does not go fine if you are trying to select an item in the menu at the same time. I'm not sure what to do however, because there doesn't seem to be a way to lock the menu (doing that crashes the app even more easily), nor knowing wether it is open to stop updating it.

Maybe it would be better to not rebuild the menu in Pulse as it is done currently, but use the MenusBeginning hook to populate it just as it opens?

comment:3 by axeld, 7 years ago

Since repopulating a menu shouldn't be problematic as long as you don't assume your BMenuItem will still be alive when you get its message (it doesn't seem to be the problem here), I would rather like to see the actual bug being fixed.

comment:4 by pulkomandy, 7 years ago

Well, changing items in the BMenu from the main window thread, while the menu is doing its own things as a separate thread, and without any locking, seems a bit strange. Is BMenu really designed for this to work?

Shouldn't we at least lock the menu when adding and removing items from it? Or does it lock the parent window looper when active to avoid such problems?

comment:5 by korli, 7 years ago

Keywords: preferences added

comment:6 by waddlesplash, 7 years ago

@korli: Why do we need a "preferences" keyword? This is already in a "Preferences" component.

comment:7 by korli, 7 years ago

@waddlesplash otherwise this ticket doesn't come up in a trac search "network preferences crash".

comment:8 by waddlesplash, 6 years ago

Blocking: 14414 added

comment:9 by waddlesplash, 6 years ago

Resolution: fixed
Status: newclosed

Should be fixed with hrev52336.

comment:10 by jscipione, 3 years ago

Blocking: 15848 added
Priority: normalcritical
Resolution: fixed
Status: closedreopened

This bug is unfortunately back.

by jscipione, 3 years ago

Network-910-debug-19-01-2021-18-20-58.report

comment:11 by axeld, 3 years ago

It wasn't fixed properly in hrev52336 -- the test did not involve the menu tracking thread AFAICS. Isn't ProcessController doing something similar with its thread menus? I can't remember seeing it crash there. What does it do differently?

comment:12 by jessicah, 3 years ago

ProcessController calls Window()->{Begin|End}ViewTransaction() in Pulse(). We probably want to do the same thing in Network's InterfaceView::Pulse()?

comment:13 by Coldfirex, 3 years ago

Could the milestone on this please be updated to R1?

comment:14 by diver, 3 years ago

Keywords: preferences removed
Milestone: UnscheduledR1

comment:15 by Coldfirex, 3 years ago

Duplicated on hrev55444.

Same issue, but slightly different crash report. Including it just in case.

comment:16 by waddlesplash, 2 years ago

Milestone: R1R1/beta4
Resolution: fixed
Status: reopenedclosed

Fix was merged in hrev55562.

Note: See TracTickets for help on using tickets.