Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

errors: enable sentry by default #2187

Merged
merged 10 commits into from Aug 3, 2018

Conversation

sergiusens
Copy link
Collaborator

@sergiusens sergiusens commented Aug 1, 2018

Final touches to polish the experience, more ensurance of anonymity and
adding a new option to send without prompting
(SNAPCRAFT_ENABLE_SILENT_REPORTS).

Signed-off-by: Sergio Schvezov sergio.schvezov@canonical.com

  • Have you followed the guidelines for contributing?
  • Have you signed the CLA?
  • If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on bug reports?
  • If this is a new feature. Have you discussed the design on the forum?
  • Have you successfully run ./runtests.sh static?
  • Have you successfully run ./runtests.sh unit?

This is how it looks

(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/make-hello$ snapcraft 
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated a trace that has been put in '/tmp/tmpucwb0wnf/trace.txt'.
You can anonymously report this issue to the snapcraft developers.
No other data than this traceback, this host's machine-id and the
version of snapcraft in use will be sent.
Would you like send this error data? (Yes/No/Always) [no]: n
(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/make-hello$ snapcraft 
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated a trace that has been put in '/tmp/tmpe0clvpg2/trace.txt'.
You can anonymously report this issue to the snapcraft developers.
No other data than this traceback, this host's machine-id and the
version of snapcraft in use will be sent.
Would you like send this error data? (Yes/No/Always) [no]: y
Thank you, sent.
(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/make-hello$ SNAPCRAFT_ENABLE_SILENT_REPORT=y snapcraft
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated a trace that has been put in '/tmp/tmpft1qi_ni/trace.txt'.
Sending an error report because SNAPCRAFT_ENABLE_SILENT_REPORT is set.
Thank you, sent.
(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/make-hello$ snapcraft
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated a trace that has been put in '/tmp/tmpmp3dfft7/trace.txt'.
You can anonymously report this issue to the snapcraft developers.
No other data than this traceback, this host's machine-id and the
version of snapcraft in use will be sent.
Would you like send this error data? (Yes/No/Always) [no]: always
Saving choice to always send data to Sentry
Thank you, sent.
(snapcraft) ubuntu@snapcraft-xenial-dev:~/source/make-hello$ snapcraft
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated a trace that has been put in '/tmp/tmppvenll25/trace.txt'.
Sending an error report because ALWAYS was selected in a past prompt.
Thank you, sent.

Final touches to polish the experience, more ensurance of anonymity and
adding a new option to send without prompting
(SNAPCRAFT_ENABLE_SILENT_REPORTS).

Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>

_YES_VALUES = ["yes", "y"]
_NO_VALUES = ["no", "n"]
_ALWAYS_VALUES = ["always", "a"]

_MACHINE_ID_FILEPATH = os.path.join(os.path.sep, "etc", "machine-id")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can probably remove this.

traceback.print_exception(
exception_type, exception, exception_traceback, file=trace_file
)
click.echo(_MSG_TRACEBACK.format(trace_filepath))
Copy link
Contributor

@kyrofa kyrofa Aug 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens to cleanbuilds in this situation? We stop printing the traceback and we put it into a file that is impossible to access since the machine will be shut down and disappear forever. It makes it difficult to determine what exactly happened without having to run the snapcraft CLI in another manner.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're losing more than this trace file when an ephemeral container goes away. I'm personally okay with this behaviour.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've done some tweaking,

sergiusens@tupa:~/source/make-hello$ snapcraft cleanbuild
Creating snapcraft-areally-unbeheld-marybelle
Starting snapcraft-areally-unbeheld-marybelle
Waiting for a network connection...
Network connection established
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:5 http://security.ubuntu.com/ubuntu xenial-security/main Sources [130 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial/main Sources [868 kB]                           
Get:7 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2116 B]
Get:8 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [69.1 kB]
Get:9 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [2088 B]
Get:10 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [530 kB]
Get:11 http://archive.ubuntu.com/ubuntu xenial/restricted Sources [4808 B]      
Get:12 http://archive.ubuntu.com/ubuntu xenial/universe Sources [7728 kB]       
Get:13 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [227 kB]
Get:14 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [362 kB]
Get:15 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [136 kB]                                           
Get:16 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3456 B]                                         
Get:17 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1744 B]                                         
Get:18 http://archive.ubuntu.com/ubuntu xenial/multiverse Sources [179 kB]                                                          
Get:19 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7532 kB]                                                    
Get:20 http://archive.ubuntu.com/ubuntu xenial/universe Translation-en [4354 kB]                                                    
Get:21 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB]                                                   
Get:22 http://archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB]                                                   
Get:23 http://archive.ubuntu.com/ubuntu xenial-updates/main Sources [317 kB]                                                        
Get:24 http://archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2528 B]                                                  
Get:25 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [216 kB]                                                    
Get:26 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [8408 B]                                                  
Get:27 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [820 kB]                                                 
Get:28 http://archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [337 kB]                                                 
Get:29 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [7564 B]                                           
Get:30 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [675 kB]                                             
Get:31 http://archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [272 kB]                                             
Get:32 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.4 kB]                                          
Get:33 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8344 B]                                           
Get:34 http://archive.ubuntu.com/ubuntu xenial-backports/main Sources [4484 B]                                                      
Get:35 http://archive.ubuntu.com/ubuntu xenial-backports/universe Sources [6736 B]                                                  
Get:36 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [6744 B]                                               
Get:37 http://archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [4180 B]                                               
Get:38 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [7420 B]                                           
Get:39 http://archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3996 B]                                           
Fetched 25.4 MB in 25s (981 kB/s)                                                                                                   
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
  squashfuse
0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 17.4 kB of archives.
After this operation, 54.3 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 squashfuse amd64 0.1.100-0ubuntu1~ubuntu16.04.1 [17.4 kB]
Fetched 17.4 kB in 0s (22.5 kB/s)    
Selecting previously unselected package squashfuse.
(Reading database ... 25655 files and directories currently installed.)
Preparing to unpack .../squashfuse_0.1.100-0ubuntu1~ubuntu16.04.1_amd64.deb ...
Unpacking squashfuse (0.1.100-0ubuntu1~ubuntu16.04.1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up squashfuse (0.1.100-0ubuntu1~ubuntu16.04.1) ...
error: no changes of type "auto-refresh" found
Looking up assertion ['account-key', 'public-key-sha3-384=BWDEoaqyr25nF5SNCvEv2v7QnM9QsfCc0PBMYD_i2NGSQ32EF2d4D0hqUel3m8ul']
Looking up assertion ['snap-declaration', 'snap-name=core']
Looking up assertion ['snap-revision', 'snap-revision=4917', 'snap-id=99T7MUlRhtI3U0QFgl5mXXESAiSwt776']
Adding assertion core_4917.assert
Installing /run/core_4917.snap
2018-08-02T14:10:54Z INFO Waiting for restart...
core 16-2.33.1 from 'canonical' installed
Making snapcraft_x6.snap user-accessible
Installing /run/snapcraft_x6.snap
snapcraft 2.42.1+git39.fdd1d6c-dirty installed
Setting up container with project assets
./
./.vm-builder.log
./test.c
./Makefile
./snap/
./snapcraft.yaml
Installing build dependencies: make
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
Suggested packages:
  make-doc
The following NEW packages will be installed:
  make
0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 151 kB of archives.
After this operation, 365 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 make amd64 4.1-6 [151 kB]
Fetched 151 kB in 1s (96.0 kB/s)
Selecting previously unselected package make.
(Reading database ... 25660 files and directories currently installed.)
Preparing to unpack .../archives/make_4.1-6_amd64.deb ...
Unpacking make (4.1-6) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up make (4.1-6) ...
make set to automatically installed.
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated the following traceback:
Traceback (most recent call last):
  File "/snap/snapcraft/x1/bin/snapcraft", line 11, in <module>
    load_entry_point('snapcraft==2.42.1', 'console_scripts', 'snapcraft')()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 134, in snap
    project = _execute(steps.PRIME, parts=[], **kwargs)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 33, in _execute
    lifecycle.execute(step, project_config, parts)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 90, in execute
    executor.run(step, part_names)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 194, in run
    self._handle_step(part_names, part, step, current_step, cli_config)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 208, in _handle_step
    getattr(self, "_run_{}".format(current_step.name))(part)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 250, in _run_pull
    self._run_step(step=steps.PULL, part=part, progress="Pulling")
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 327, in _run_step
    getattr(part, step.name)()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 400, in pull
    self._runner.pull()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 83, in pull
    "override-pull", self._override_pull_scriptlet, self._sourcedir
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 162, in _run_scriptlet
    scriptlet_name, function_call.strip()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 218, in _handle_builtin_function
    function(**function_args)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 419, in _do_pull
    self.source_handler.pull()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/sources/_local.py", line 40, in pull
    copy_function=self.copy_function,
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/file_utils.py", line 199, in link_or_copy_tree
    raise NotADirectoryError("{!r} is not a directory".format(source_tree))
NotADirectoryError: '/root/build_make-hello/foo' is not a directory
You can anonymously report this issue to the snapcraft developers.
No other data than this traceback and the version of snapcraft in
use will be sent.
Would you like send this error data? (Yes/No/Always) [no]: 
Stopping local:snapcraft-areally-unbeheld-marybelle
sergiusens@tupa:~/source/make-hello$ snapcraft cleanbuild
Creating snapcraft-overmilitaristically-securable-kandice
Starting snapcraft-overmilitaristically-securable-kandice
Waiting for a network connection...
Network connection established
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]           
Get:4 http://security.ubuntu.com/ubuntu xenial-security/main Sources [130 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]       
Get:6 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2116 B]
Get:7 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [69.1 kB]
Get:8 http://archive.ubuntu.com/ubuntu xenial/main Sources [868 kB]                           
Get:9 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [2088 B]
Get:10 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [530 kB]
Get:11 http://security.ubuntu.com/ubuntu xenial-security/main Translation-en [227 kB]
Get:12 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [362 kB]
Get:13 http://archive.ubuntu.com/ubuntu xenial/restricted Sources [4808 B]     
Get:14 http://archive.ubuntu.com/ubuntu xenial/universe Sources [7728 kB]       
Get:15 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [136 kB]
Get:16 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3456 B]
Get:17 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1744 B]                                         
Get:18 http://archive.ubuntu.com/ubuntu xenial/multiverse Sources [179 kB]                                                          
Get:19 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7532 kB]                                                    
Get:20 http://archive.ubuntu.com/ubuntu xenial/universe Translation-en [4354 kB]                                                    
Get:21 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB]                                                   
Get:22 http://archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB]                                                   
Get:23 http://archive.ubuntu.com/ubuntu xenial-updates/main Sources [317 kB]                                                        
Get:24 http://archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [2528 B]                                                  
Get:25 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [216 kB]                                                    
Get:26 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [8408 B]                                                  
Get:27 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [820 kB]                                                 
Get:28 http://archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [337 kB]                                                 
Get:29 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [7564 B]                                           
Get:30 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [675 kB]                                             
Get:31 http://archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [272 kB]                                             
Get:32 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.4 kB]                                          
Get:33 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8344 B]                                           
Get:34 http://archive.ubuntu.com/ubuntu xenial-backports/main Sources [4484 B]                                                      
Get:35 http://archive.ubuntu.com/ubuntu xenial-backports/universe Sources [6736 B]                                                  
Get:36 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [6744 B]                                               
Get:37 http://archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [4180 B]                                               
Get:38 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [7420 B]                                           
Get:39 http://archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3996 B]                                           
Fetched 25.4 MB in 25s (993 kB/s)                                                                                                   
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
  squashfuse
0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 17.4 kB of archives.
After this operation, 54.3 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 squashfuse amd64 0.1.100-0ubuntu1~ubuntu16.04.1 [17.4 kB]
Fetched 17.4 kB in 0s (18.5 kB/s)     
Selecting previously unselected package squashfuse.
(Reading database ... 25655 files and directories currently installed.)
Preparing to unpack .../squashfuse_0.1.100-0ubuntu1~ubuntu16.04.1_amd64.deb ...
Unpacking squashfuse (0.1.100-0ubuntu1~ubuntu16.04.1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up squashfuse (0.1.100-0ubuntu1~ubuntu16.04.1) ...
error: no changes of type "auto-refresh" found
Looking up assertion ['account-key', 'public-key-sha3-384=BWDEoaqyr25nF5SNCvEv2v7QnM9QsfCc0PBMYD_i2NGSQ32EF2d4D0hqUel3m8ul']
Looking up assertion ['snap-declaration', 'snap-name=core']
Looking up assertion ['snap-revision', 'snap-revision=4917', 'snap-id=99T7MUlRhtI3U0QFgl5mXXESAiSwt776']
Adding assertion core_4917.assert
Installing /run/core_4917.snap
core 16-2.33.1 from 'canonical' installed
Making snapcraft_x6.snap user-accessible
Installing /run/snapcraft_x6.snap
snapcraft 2.42.1+git39.fdd1d6c-dirty installed
Setting up container with project assets
./
./.vm-builder.log
./test.c
./Makefile
./snap/
./snapcraft.yaml
Installing build dependencies: make
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
Suggested packages:
  make-doc
The following NEW packages will be installed:
  make
0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 151 kB of archives.
After this operation, 365 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 make amd64 4.1-6 [151 kB]
Fetched 151 kB in 1s (91.7 kB/s)
Selecting previously unselected package make.
(Reading database ... 25660 files and directories currently installed.)
Preparing to unpack .../archives/make_4.1-6_amd64.deb ...
Unpacking make (4.1-6) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up make (4.1-6) ...
make set to automatically installed.
Pulling make-project 
Sorry, Snapcraft ran into an error when trying to running through its
lifecycle that generated the following traceback:
Traceback (most recent call last):
  File "/snap/snapcraft/x1/bin/snapcraft", line 11, in <module>
    load_entry_point('snapcraft==2.42.1', 'console_scripts', 'snapcraft')()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 134, in snap
    project = _execute(steps.PRIME, parts=[], **kwargs)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/cli/lifecycle.py", line 33, in _execute
    lifecycle.execute(step, project_config, parts)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 90, in execute
    executor.run(step, part_names)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 194, in run
    self._handle_step(part_names, part, step, current_step, cli_config)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 208, in _handle_step
    getattr(self, "_run_{}".format(current_step.name))(part)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 250, in _run_pull
    self._run_step(step=steps.PULL, part=part, progress="Pulling")
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/lifecycle/_runner.py", line 327, in _run_step
    getattr(part, step.name)()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 400, in pull
    self._runner.pull()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 83, in pull
    "override-pull", self._override_pull_scriptlet, self._sourcedir
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 162, in _run_scriptlet
    scriptlet_name, function_call.strip()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 218, in _handle_builtin_function
    function(**function_args)
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 419, in _do_pull
    self.source_handler.pull()
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/internal/sources/_local.py", line 40, in pull
    copy_function=self.copy_function,
  File "/snap/snapcraft/x1/lib/python3.5/site-packages/snapcraft/file_utils.py", line 199, in link_or_copy_tree
    raise NotADirectoryError("{!r} is not a directory".format(source_tree))
NotADirectoryError: '/root/build_make-hello/foo' is not a directory
You can anonymously report this issue to the snapcraft developers.
No other data than this traceback and the version of snapcraft in
use will be sent.
Would you like send this error data? (Yes/No/Always) [no]: yes
Thank you, sent.
Stopping local:snapcraft-overmilitaristically-securable-kandice
sergiusens@tupa:~/source/make-hello$ 

Copy link
Contributor

@evandandrea evandandrea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. I've requested one copy change.

traceback.print_exception(
exception_type, exception, exception_traceback, file=trace_file
)
click.echo(_MSG_TRACEBACK.format(trace_filepath))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're losing more than this trace file when an ephemeral container goes away. I'm personally okay with this behaviour.

traceback.print_exception(
exception_type, exception, exception_traceback, file=trace_file
)
click.echo(_MSG_TRACEBACK.format(trace_filepath))
if not is_raven_setup:
echo.warning(
"raven is not installed on this system, cannot send data to sentry"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Submitting this error to the Snapcraft developers is not possible through the CLI without Raven installed. If you wish to report this issue, please copy the contents of '{}' and submit manually at https://launchpad.net/snapcraft/+filebug"

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed, but slightly different in the last part of the wording.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Contributor

@evandandrea evandandrea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

Copy link
Contributor

@kyrofa kyrofa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thank you.

@codecov-io
Copy link

codecov-io commented Aug 3, 2018

Codecov Report

Merging #2187 into master will decrease coverage by 0.02%.
The diff coverage is 80.64%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2187      +/-   ##
==========================================
- Coverage   91.22%   91.19%   -0.03%     
==========================================
  Files         201      201              
  Lines       12898    12909      +11     
  Branches     1912     1913       +1     
==========================================
+ Hits        11766    11773       +7     
- Misses        768      771       +3     
- Partials      364      365       +1
Impacted Files Coverage Δ
snapcraft/internal/lxd/_containerbuild.py 94.65% <100%> (+0.02%) ⬆️
snapcraft/cli/_runner.py 95.23% <100%> (ø) ⬆️
snapcraft/cli/_errors.py 81.05% <78.57%> (-2.48%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 51518db...24755ec. Read the comment docs.

@sergiusens sergiusens merged commit f77a6c1 into canonical:master Aug 3, 2018
@sergiusens sergiusens deleted the send-trace-to-file branch August 3, 2018 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants