Debug symbols for a snap

I’m trying to figure out why a 3rd party snap is generating invalid memory reads during execution and with debian packages we have debug symbols but I don’t know how to debug this with snaps. Is there any way to do this?

For example, valgrind on snap itself produces:

==55212== Invalid write of size 8
==55212==    at 0x56E96A: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388478 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56E984: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388480 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56E960: ??? (in /usr/bin/snap)
==55212==  Address 0xc0003884a0 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56E965: ??? (in /usr/bin/snap)
==55212==  Address 0xc0003884c0 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56EA2A: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388478 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 4
==55212==    at 0x56EC0C: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388478 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56EA25: ??? (in /usr/bin/snap)
==55212==  Address 0xc0003884a4 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56EC4B: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388480 is in a rw- anonymous segment
==55212== 
==55212== Invalid write of size 8
==55212==    at 0x56EC4F: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388490 is in a rw- anonymous segment
==55212== 
==55212== Invalid read of size 16
==55212==    at 0x56EC56: ??? (in /usr/bin/snap)
==55212==  Address 0xc000388480 is in a rw- anonymous segment

I have no idea how to debug this without the debug symbols. By the way, it concerns me that snap itself is generating lots of invalid memory read errors.

1 Like