Bug 3909

Summary: Hob fails to launch if an error occurs before sanity checks
Product: [Build System, Metadata & Runtime] Hob Reporter: Belen Barros Pena <belen.barros.pena>
Component: hobAssignee: valentin <valentin.popa>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Medium CC: andrei.adrianx.dinu, belen.barros.pena, cristian.iorga, jessica.zhang, poky.bs.watcher, poky.watcher, valentin.popa
Version: unspecified   
Target Milestone: 1.7   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
missing-layer-dir-hob-error.png
none
3909 - Showing errors before sanity check.pdf none

Description Belen Barros Pena 2013-02-19 15:33:56 UTC
Created attachment 1077 [details]
missing-layer-dir-hob-error.png

Steps to reproduce:

1. Clone a layer (e.g. meta-web-kiosk) and add it to Hob using the Layers dialog
2. Close Hob
3. Delete the layer directory you just cloned and added to Hob
4. Launch Hob

Outcome: Hob shows an error in the console and fails to launch (see attached missing-layer-dir-hob-error.png).

Expected outcome: Hob should complain it cannot find one of the layers, but it should not fail to start up.

We need to write the error message and work out what's the best way to present it (in the image configuration screen or before that, in the sanity checks screen), so after accepting the bug get in touch with me.
Comment 1 Cristiana Voicu 2013-03-04 08:32:19 UTC
Hi Belen,

I think this bug should resolve how we show any error coming from the recipes parsing launched before Hob starts. There is no need to run sanity checks, so we should show them before this step. So, I need a design for this bug :) Can you help me with it?

Thanks,
Cristiana

(In reply to comment #0)
> Created attachment 1077 [details]
> missing-layer-dir-hob-error.png
> 
> Steps to reproduce:
> 
> 1. Clone a layer (e.g. meta-web-kiosk) and add it to Hob using the Layers
> dialog
> 2. Close Hob
> 3. Delete the layer directory you just cloned and added to Hob
> 4. Launch Hob
> 
> Outcome: Hob shows an error in the console and fails to launch (see attached
> missing-layer-dir-hob-error.png).
> 
> Expected outcome: Hob should complain it cannot find one of the layers, but
> it should not fail to start up.
> 
> We need to write the error message and work out what's the best way to
> present it (in the image configuration screen or before that, in the sanity
> checks screen), so after accepting the bug get in touch with me.
Comment 2 Belen Barros Pena 2013-03-04 11:04:34 UTC
(In reply to comment #1)
> Hi Belen,
> 
> I think this bug should resolve how we show any error coming from the
> recipes parsing launched before Hob starts. There is no need to run sanity
> checks, so we should show them before this step. So, I need a design for
> this bug :) Can you help me with it?
> 
Of course I can. It would be good to know what we can do to help people recover. Can we know the name of the missing layer directory? Can we provide a file browser for people to select the layer directory? Will people need to relaunch Hob after this error comes up, or once the missing directory is restored we can go straight into sanity checks without relaunching?

Thanks!

Belen

> Thanks,
> Cristiana
> 
> (In reply to comment #0)
> > Created attachment 1077 [details]
> > missing-layer-dir-hob-error.png
> > 
> > Steps to reproduce:
> > 
> > 1. Clone a layer (e.g. meta-web-kiosk) and add it to Hob using the Layers
> > dialog
> > 2. Close Hob
> > 3. Delete the layer directory you just cloned and added to Hob
> > 4. Launch Hob
> > 
> > Outcome: Hob shows an error in the console and fails to launch (see attached
> > missing-layer-dir-hob-error.png).
> > 
> > Expected outcome: Hob should complain it cannot find one of the layers, but
> > it should not fail to start up.
> > 
> > We need to write the error message and work out what's the best way to
> > present it (in the image configuration screen or before that, in the sanity
> > checks screen), so after accepting the bug get in touch with me.
Comment 3 Cristiana Voicu 2013-03-04 11:20:46 UTC
(In reply to comment #2)

> Of course I can. It would be good to know what we can do to help people
> recover. Can we know the name of the missing layer directory? Can we provide
> a file browser for people to select the layer directory? Will people need to
> relaunch Hob after this error comes up, or once the missing directory is
> restored we can go straight into sanity checks without relaunching?
> 
> Thanks!
> 
> Belen
I think we should show the error as it is shown in bitbake( eg. ERROR: Unable to parse /home/cvoicu/dev/poky/meta-web-kiosk/conf/layer.conf: [Errno 2] No such file or directory: '/home/cvoicu/dev/poky/meta-web-kiosk/conf/layer.conf'). I think we should not make it particular for this kind of error, because there could be other, when you parse recipes. From the implementation point of view, it will be simple to have Hob opened with the error shown and a button "Close" to close Hob.

But for this, should we wait for #1788? Isn't it related?
Cristiana
Comment 4 Belen Barros Pena 2013-03-20 17:36:06 UTC
(In reply to comment #3)
> (In reply to comment #2)
> 
> > Of course I can. It would be good to know what we can do to help people
> > recover. Can we know the name of the missing layer directory? Can we provide
> > a file browser for people to select the layer directory? Will people need to
> > relaunch Hob after this error comes up, or once the missing directory is
> > restored we can go straight into sanity checks without relaunching?
> > 
> > Thanks!
> > 
> > Belen
> I think we should show the error as it is shown in bitbake( eg. ERROR:
> Unable to parse /home/cvoicu/dev/poky/meta-web-kiosk/conf/layer.conf: [Errno
> 2] No such file or directory:
> '/home/cvoicu/dev/poky/meta-web-kiosk/conf/layer.conf'). I think we should
> not make it particular for this kind of error, because there could be other,
> when you parse recipes. From the implementation point of view, it will be
> simple to have Hob opened with the error shown and a button "Close" to close
> Hob.

I've attached a mock up for that, although I do have a bit of a problem with generic error handling. I explain it in the attached document (3909 - Showing errors before sanity check.pdf). Unfortunately, I don't think there is much else we can do right now. 

> 
> But for this, should we wait for #1788? Isn't it related?

I am not sure when we'll fix 1788 (if ever): personally, I cannot see much benefit in building pseudo-native within Hob. People will still need to wait until that finishes in order to use Hob. So I rather go ahead and fix this one instead of waiting, if that's ok with you.

> Cristiana
Comment 5 Belen Barros Pena 2013-03-20 17:36:41 UTC
Created attachment 1125 [details]
3909 - Showing errors before sanity check.pdf
Comment 6 Belen Barros Pena 2013-04-05 14:34:48 UTC
I had a brief chat with Andrei about this bug. He feels we should be able to provide an error message specific to the missing layer directory case. I can't help but agreeing, although I also see Cristina's point: we do need a generic error message for any issues arising during recipe parsing before Hob starts.

So I'd like to propose addressing this in 2 steps:

1. First, we fix this bug, i.e. we create a generic error message that'll be displayed for any problems arising during recipe parsing before Hob starts.

2. Then, I open an enhancement with a 1.5 milestone to address the missing layer directory case.

This is very much the same approach we took for build failures, where we first created a generic message, and then created a special message that caters for the 'out of disk space' case.

Cristiana, would you be happy with this?

Thanks!
Comment 7 Cristiana Voicu 2013-08-06 09:49:14 UTC
After a review from Richard, the proposed solution is not scalable. A new approach must be found in order to wokr OK with webhob too.
Comment 8 Belen Barros Pena 2013-08-06 10:05:24 UTC
(In reply to comment #7)
> After a review from Richard, the proposed solution is not scalable. A new
> approach must be found in order to wokr OK with webhob too.

Sorry, Cristiana: can you be a bit more specific? What is "not scalable"? 

* Using a generic error message to handle all issues arising before Hob starts? 

* Creating messages specific to certain errors (for example, a layer directory was not found where it was expected to be)?

* None of the above 

Thanks

Belen
Comment 9 Cristiana Voicu 2013-08-06 10:10:32 UTC
Hi Belen,

I talk to Andrei, in order to update the bug, and this is what he told me. The solution was not ok regarding the interaction between bitbake and Hob. As it was implemented, it can not be used for webhob. I don't know exactly what is this about, I have to investigate it in the future.
Cristiana

(In reply to comment #8)
> (In reply to comment #7)
> > After a review from Richard, the proposed solution is not scalable. A new
> > approach must be found in order to wokr OK with webhob too.
> 
> Sorry, Cristiana: can you be a bit more specific? What is "not scalable"? 
> 
> * Using a generic error message to handle all issues arising before Hob
> starts? 
> 
> * Creating messages specific to certain errors (for example, a layer
> directory was not found where it was expected to be)?
> 
> * None of the above 
> 
> Thanks
> 
> Belen
Comment 10 Belen Barros Pena 2013-08-06 10:17:45 UTC
So 'none of the above' :)

Now that you mention it, I do remember Andrei and RP having a conversation about this back in May that stopped us from submitting Andrei's patches, but I don't know what the problem was. We'll need to talk to RP when he is back. 


(In reply to comment #9)
> Hi Belen,
> 
> I talk to Andrei, in order to update the bug, and this is what he told me.
> The solution was not ok regarding the interaction between bitbake and Hob.
> As it was implemented, it can not be used for webhob. I don't know exactly
> what is this about, I have to investigate it in the future.
> Cristiana
> 
> (In reply to comment #8)
> > (In reply to comment #7)
> > > After a review from Richard, the proposed solution is not scalable. A new
> > > approach must be found in order to wokr OK with webhob too.
> > 
> > Sorry, Cristiana: can you be a bit more specific? What is "not scalable"? 
> > 
> > * Using a generic error message to handle all issues arising before Hob
> > starts? 
> > 
> > * Creating messages specific to certain errors (for example, a layer
> > directory was not found where it was expected to be)?
> > 
> > * None of the above 
> > 
> > Thanks
> > 
> > Belen
Comment 11 valentin 2014-04-03 15:19:27 UTC
Agreed with Belen to move this to 1.7. Bitbake has changed a lot  since this bug was filled, so maybe it will be easier to start hob before layer parsing.
Comment 12 valentin 2014-06-11 13:15:41 UTC
Talked with Belen and decided to close this as WONTFIX.