flatpak / flatpak-builder

Tool to build flatpaks from source
GNU Lesser General Public License v2.1
139 stars 93 forks source link

Crash when included manifest is missing #318

Open cxrvh opened 5 years ago

cxrvh commented 5 years ago

Linux distribution and version

Fedora 30

Flatpak-builder version

1.0.9

Flatpak version

1.4.3

Description of the problem

Crash when trying to build a manifest whose included manifests don't exist.

reason: flatpak-builder killed by SIGTRAP crash_function: builder_manifest_deserialize_property

Steps to reproduce

(flatpak-builder:5666): flatpak-builder-ERROR **: 19:57:09.106:
Failed to load included manifest (.../io.github.Hexchat/shared-modules/gtk2/gtk2.json):
Failed to open file ».../io.github.Hexchat/shared-modules/gtk2/gtk2.json«: No such file or directory

Trace/breakpoint trap (Speicherabzug geschrieben)
aleixpol commented 4 years ago

I don't get a crash but can still reproduce.

(flatpak-builder:292993): Json-WARNING **: 01:36:16.070: Failed to deserialize "modules" property of type "gpointer" for an object of type "BuilderModule"

eszlari commented 4 years ago

It crashes here (flatpak-builder 1.0.10, glib 2.64.2) too:

Apr 30 21:57:41 localhost kernel: traps: flatpak-builder[7836] trap int3 ip:7f45714490d5 sp:7ffebf94e3c0 error:0 in libglib-2.0.so.0.6400.2[7f457140d000+84000]

Garbee commented 4 years ago

This same gtk2.json manifest error is blocking any builds of the RuneScape flatpak from happening. Which is preventing work for fixing an issue with the OpenSSL 1.0 removal in the newer 19.08 platform builds.

OS: Elementary 5.1.4 ( Ubuntu 18.04.4 based ) Builder version: 1.0.10 Flatpak version: 1.6.3

TingPing commented 4 years ago

@Garbee This crash prevents nothing, just initialize the submodule as mentioned.

Garbee commented 4 years ago

I see the error and my tmp directory for the build is entirely empty aside from one cache file. So it certainly appears as if it stops processing on it.

flatpak-builder --state-dir=tmp/flatpak-builder --force-clean --repo=tmp/repo tmp/runescape com.jagex.RuneScape.json is what I'm running in master. So perhaps something else changed with the builder and I just haven't gone through the manual again to see.

refi64 commented 4 years ago

I think you're misunderstanding what's happening here. This occurs when the file being included is missing, thus the proper fix is to give an error and exit, not continue. As TingPing said, make sure the submodules are initialized; gtk2.json is generally in a shared-modules repo added as a submodule to many Flatpak sources.

On Wed, Jun 3, 2020 at 6:44 PM Jonathan Garbee notifications@github.com wrote:

I see the error and my tmp directory for the build is entirely empty aside from one cache file. So it certainly appears as if it stops processing on it.

flatpak-builder --state-dir=tmp/flatpak-builder --force-clean --repo=tmp/repo tmp/runescape com.jagex.RuneScape.json is what I'm running in master. So perhaps something else changed with the builder and I just haven't gone through the manual again to see.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/flatpak/flatpak-builder/issues/318#issuecomment-638517668, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM4YSPVDSSJKV4CGRT4MNTRU3N6NANCNFSM4JIX4H3A .

-- Ryan (ライアン) Yoko Shimomura, ryo (supercell/EGOIST), Hiroyuki Sawano >> everyone else https://refi64.com/

Garbee commented 4 years ago

Oh facepalm.

Sorry, I have no idea why it took being said 3 times to initialize submodules for my brain to finally realize I hadn't done that on this pull. (Forgot my normal --recursive on the clone.)

I'm gonna just write an internal script that will check for these things and give direct errors where applicable. That way we can hopefully avoid ambiguity later on when doing later builds.