Opened 12 years ago
Closed 9 years ago
#9039 closed enhancement (fixed)
Tracker should be able to restart deskbar if it crashes.
Reported by: | kallisti5 | Owned by: | kallisti5 |
---|---|---|---|
Priority: | low | Milestone: | Unscheduled |
Component: | Applications/Tracker | Version: | R1/Development |
Keywords: | Cc: | axeld@… | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
The deskbar shows a "Restart Tracker" item if tracker crashes (isn't running)
The tracker should show a simular menu on the desktop if Deskbar isn't running.
To reproduce Tracker restart process...
- Kill Tracker
- Choose Deskbar menu -> "Restart Tracker"
To reproduce Deskbar restart process...
- Kill Deskbar
- Right click desktop, no option.
- Find the Terminal app on desktop, launch it, run Deskbar from command line.
Attachments (2)
Change History (25)
comment:1 by , 12 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
by , 12 years ago
Attachment: | Tracker-RestartDeskbar.diff added |
---|
comment:2 by , 12 years ago
patch: | 0 → 1 |
---|
comment:3 by , 12 years ago
comment:4 by , 12 years ago
Cc: | added |
---|
adding Axel to CC list... this probably needs a quick review by another set of eyes.
I rebooted and after extensive testing haven't seen the same app_server crash again. The original app_server crash may of been from moving /boot/Preferences accidentally during testing or replacing libtracker.so multiple times without a reboot.
comment:5 by , 12 years ago
I get all ticket mails, so there is no need to add me to the CC list.
Anyway, I'm not really a fan of such menu items, and I'm not sure the one in Tracker is really that helpful as it's not that visible in comparison. I think I would prefer an alert that pops up in either case that allows you to restart the problematic application. That logic could be either put in both apps, or in a 3rd app, although I don't see a good candidate besides a general "supervisor". That latter solution might even be preferrable, as it allows you to disable the functionality in case you are a developer working on those applications.
Having said that, I do not understand the changes you made in BContainerWindow::RepopulateMenus()
-- can the menu bar be NULL
ever?
comment:6 by , 12 years ago
Besides, if you find a way to crash the app_server from another application, please commit the changes so we have a good test case :-)
comment:7 by , 12 years ago
ah. I pushed this just as I saw your comments :(
The reason for the fMenuBar is if RepopulateMenus is called from the desktop context... there is no desktop menubar and fMenuBar is dereferenced.
comment:8 by , 12 years ago
I'm fine removing the functionality for an alert (it does indeed seem like a better idea "Tracker/Deskbar crashed.. restart?)
The fMenuBar dereference prevention should probably stay though.
comment:9 by , 12 years ago
Ah... it was pointed out in irc that this functionality already existed in the TaskManager (ctl+alt+delete)
The "Restart Desktop" button shows up if Deskbar *or* Tracker is missing.
Maybe I should remove the menu option from Deskbar *and* Tracker?
comment:10 by , 12 years ago
Personally, I wouldn't mind, though the functionality in the Team Manager is rather hidden in comparison with the Deskbar, at least. I dunno.
comment:11 by , 12 years ago
Yeah... which is why I never saw it :) The option in team manager is definitely better rounded, but harder to find in a pinch if you don't know it's there.
I'd say the "correct" solution would be to do what you said about having some kind of watchdog that would throw a dialog box up if DeskBar or Tracker crash... then all three options can be ripped out :)
comment:12 by , 12 years ago
you know what? The debug server may be the perfect place for this. Check for either Tracker or DeskBar crashing, and handle the recovery.
comment:13 by , 12 years ago
I'm not sure that's such a good idea: it will already bring up a dialog to ask whether or not to debug the crash. If you choose to run the debugger, there is no way to restart the application.
You might also want to restart Tracker or Deskbar if they quit by other means than a crash, too.
comment:14 by , 12 years ago
Thats true.. although in the case of a "Desktop" application crashing we could say...
The system application: XXX has encountered an error... blah... blah <Debug> <Restart>
There is a small catch 22 there though if someone wants to *not* debug deskbar / tracker and not try to restart them... there is also the close window decor though for the debug dialog.
by , 12 years ago
Attachment: | DebugServerDesktopCrash.diff added |
---|
the road I began going down... do not commit at this time.
comment:15 by , 12 years ago
The ability to restart apps from the crash dialog sounds neat! This way you don't have to find where the app sits first.
comment:16 by , 12 years ago
Yeah.. I still think the functionality should be limited to "system" apps such as Deskbar and Tracker... maybe servers as well?
comment:17 by , 12 years ago
BTW, there's Brian Hill's excellent Einsteinium. I hope he'll update his app for alpha4, as I have the pleasure of running an improved version (esp. the Launcher) for some time now. Einsteinium re-launches quit/crashed apps and offers a launcher of the most used apps. Maybe something like that can be integrated directly in Haiku (the Registrar?) some day.
comment:18 by , 11 years ago
That gives me an idea. Haiku Task Manager-esque app integrating the CPU "demo" and other stuff, like RAM usage. Doubleclicking the performance monitor should pop up the old demo that BeOS had, with a line between physical processors, and then utilization of each individual RAM stick below it (if possible). Knowing that it was displayed like this in BeOS (Albeit only for total RAM) tells me this is at least partly possible, separated from the processors by a double line or such. Another ticket, someone?
comment:20 by , 11 years ago
Add a system flag and a restart button. Shouldn't be too complex.
Also: I could learn some C/C++ and do the tasker. I infact plan on learning those ASAP.
comment:22 by , 9 years ago
@waddlesplash I've had a real-world test case for Deskbar around a week ago: Deskbar crashed when opening a 'menu', and as soon as I clicked "Save report" it got restarted instantly and hummed along happily ever after.
As to Tracker, if I hey Tracker quit
it (to clean up messed up desktop display) it gets restarted at once and the desktop icons are fixed. Good stuff.
Maybe this ticket can be closed.. Or maybe it's still necessary to track "redundancy" issues, like removing the old TeamMonitor et al features discussed above that are redundant and no longer useful ?
comment:23 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
That would deserve a separat ticket, I think. It is hard to track when an old ticket is repurposed, you have to read all the comments to find out it is still relevant. Closing this one then.
I made a patch that works... however I got a vesa AppServer crash shortly after using the modified tracker... not sure if related to the change but to be safe i'm not committing it yet.