babluboy / bookworm

A simple ebook reader for Elementary OS
GNU General Public License v3.0
1.34k stars 102 forks source link

upgraded to Fedora 29 and bookworm just segfaults #228

Open babluboy opened 5 years ago

babluboy commented 5 years ago

@captain-cavemaaaan Raising this issue to investigate why Bookworm segfaults on Fedora 29 (reported on issue #170)

Can you please run Bookworm in debug mode to get some more details: com.github.babluboy.bookworm —debug

captain-cavemaaaan commented 5 years ago

It segfaults before reporting anything. It apparently fails before it even gets into the main function; gdb backtrace shows

0 do_lookup_x (undef_name=undef_name@entry=0x7ffff2c7d13e "error_message_count", new_hash=new_hash@entry=2892175419, old_hash=old_hash@entry=0x7fffffffd1a0, ref=0x7ffff2c73868, result=result@entry=0x7fffffffd1b0, scope=, i=, version=0x7fffeeb3ad10, flags=1, skip=0x0, type_class=4, undef_map=0x7ffff323fed0) at dl-lookup.c:404

1 0x00007ffff7fdcc0f in _dl_lookup_symbol_x (undef_name=0x7ffff2c7d13e "error_message_count", undef_map=undef_map@entry=0x7ffff323fed0, ref=ref@entry=0x7fffffffd2c8, symbol_scope=symbol_scope@entry=0x7ffff3240230, version=0x7fffeeb3ad10, type_class=4, flags=1, skip_map=) at dl-lookup.c:814

2 0x00007ffff7fde62e in elf_machine_rela (skip_ifunc=, reloc_addr_arg=0x7ffff2e26f70, version=, sym=, reloc=0x7ffff2c87e20, map=0x7ffff323fed0) at ../sysdeps/x86_64/dl-machine.h:308

3 elf_dynamic_do_Rela (skip_ifunc=, lazy=, nrelative=, relsize=, reladdr=, map=0x7ffff323fed0) at do-rel.h:137

4 _dl_relocate_object (scope=, reloc_mode=, consider_profiling , consider_profiling@entry=0) at dl-reloc.c:258

5 0x00007ffff7fd628f in dl_main (phdr=, phnum=, user_entry , auxv=) at rtld.c:2193

6 0x00007ffff7febba0 in _dl_sysdep_start (start_argptr=start_argptr@entry=0x7fffffffd660, dl_main=dl_main@entry=0x7ffff7fd4610 ) at ../elf/dl-sysdep.c:253

7 0x00007ffff7fd41d8 in _dl_start_final (arg=0x7fffffffd660) at rtld.c:413

8 _dl_start (arg=0x7fffffffd660) at rtld.c:520

9 0x00007ffff7fd3118 in _start () from /lib64/ld-linux-x86-64.so.2

10 0x0000000000000001 in ?? ()

11 0x00007fffffffd9ef in ?? ()

12 0x0000000000000000 in ?? ()

tchoutri commented 5 years ago

Hi @babluboy, the same thing is happening on my F29. Should I provide you a strace dump?

babluboy commented 5 years ago

@tchoutri Thanks for updating. I would need to set up a Fedora 29 VM to debug this issue.

From the above response it seems that it segfaults before any debug output...so no use asking you to run bookworm in debug...

Have you tried running any other Elementary app on Fedora 29...let me see if anyone has installed Bookworm on a lower version of Fedora...need to figure out what changed on Fedora 29

tchoutri commented 5 years ago

@babluboy Thanks for your answer!

Have you tried running any other Elementary app on Fedora 29

Absolutely not! Which one do you suggest I try?

babluboy commented 5 years ago

You can try my other app - Nutty (Network info App). Instructions here: https://babluboy.github.io/nutty/

babluboy commented 5 years ago

You can also try birdie - a nice Twitter client. Instructions here: https://quassy.github.io/elementary-apps/Birdie/

If Birdie installs fine, then I can check what I’m doing wrong in the start up code

tchoutri commented 5 years ago

I have a Core Dump with Nutty:

févr. 19 14:57:50 moira systemd-coredump[29136]: Process 29132 (com.github.babl) of user 1000 dumped core.
Stack trace of thread 29132:
#0  0x00007fd92e2021e5 n/a (libglib-2.0.so.0)
#1  0x00007fd92e20351d g_logv (libglib-2.0.so.0)
#2  0x00007fd92e2036f3 g_log (libglib-2.0.so.0)
#3  0x00007fd92e43670c n/a (libgio-2.0.so.0)
#4  0x00007fd92e2e4409 n/a (libgobject-2.0.so.0)
#5  0x00007fd92e2e5fde g_object_new_valist (libgobject-2.0.so.0)
#6  0x00007fd92e2e633d g_object_new (libgobject-2.0.so.0)
#7  0x00007fd92df0dd4a granite_services_settings_construct (libgranite.so.5)
#8  0x000000000044b2c2 n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#9  0x000000000044b2dd n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#10 0x000000000044b23f n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#11 0x000000000040af7c n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#12 0x00007fd92e2de3dd g_closure_invoke (libgobject-2.0.so.0)
#13 0x00007fd92e2f11b4 n/a (libgobject-2.0.so.0)
#14 0x00007fd92e2faaaa g_signal_emit_valist (libgobject-2.0.so.0)
#15 0x00007fd92e2fb0a3 g_signal_emit (libgobject-2.0.so.0)
#16 0x000000000040a5d9 n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#17 0x00007fd92d293ace ffi_call_unix64 (libffi.so.6)
#18 0x00007fd92d29348f ffi_call (libffi.so.6)
#19 0x00007fd92e2df3a6 g_cclosure_marshal_generic_va (libgobject-2.0.so.0)
#20 0x00007fd92e2de636 n/a (libgobject-2.0.so.0)
#21 0x00007fd92e2fa524 g_signal_emit_valist (libgobject-2.0.so.0)
#22 0x00007fd92e2fb0a3 g_signal_emit (libgobject-2.0.so.0)
#23 0x00007fd92e3ca9a3 n/a (libgio-2.0.so.0)
#24 0x00007fd92e3ccaa9 n/a (libgio-2.0.so.0)
#25 0x00007fd92e3ccc8f g_application_run (libgio-2.0.so.0)
#26 0x0000000000409c18 n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#27 0x0000000000409c40 n/a (/home/tchoutri/Apps/nutty/build/com.github.babluboy.nutty)
#28 0x00007fd92dc22413 __libc_start_main (libc.so.6)
#29 0x00000000004098ce n/a (/home/hecate/Apps/nutty/build/com.github.babluboy.nutty)
babluboy commented 5 years ago

Ok. Then it is consistent as I developed Nutty first and used that as a template to start with Bookworm....let’s see if you have success with Birdie

This line is missing a / after build:

29 0x00000000004098ce n/a (/home/tchoutri/Apps/nutty/buildcom.github.babluboy.nutty)

tchoutri commented 5 years ago

Ah yeah, I must have mistyped something in vim when I de-indented the log. EDIT: And here is the crash dump for Birdie, @babluboy:

Stack trace of thread 26472:
#0  0x00007f3d197f31e5 n/a (libglib-2.0.so.0)
#1  0x00007f3d197f451d g_logv (libglib-2.0.so.0)
#2  0x00007f3d197f46f3 g_log (libglib-2.0.so.0)
#3  0x00007f3d18c0270c n/a (libgio-2.0.so.0)
#4  0x00007f3d18ab0409 n/a (libgobject-2.0.so.0)
#5  0x00007f3d18ab1fde g_object_new_valist (libgobject-2.0.so.0)
#6  0x00007f3d18ab233d g_object_new (libgobject-2.0.so.0)
#7  0x000000000040e4eb n/a (/home/tchoutri/Apps/birdie/build/me.ivonunes.birdie)
#8  0x00007f3d18aaa3dd g_closure_invoke (libgobject-2.0.so.0)
#9  0x00007f3d18abd1b4 n/a (libgobject-2.0.so.0)
#10 0x00007f3d18ac6aaa g_signal_emit_valist (libgobject-2.0.so.0)
#11 0x00007f3d18ac70a3 g_signal_emit (libgobject-2.0.so.0)
#12 0x00007f3d18b98ad8 n/a (libgio-2.0.so.0)
#13 0x00007f3d18b98c8f g_application_run (libgio-2.0.so.0)
#14 0x000000000040d631 n/a (/home/tchoutri/Apps/birdie/build/me.ivonunes.birdie)
#15 0x000000000040d6a9 n/a (/home/tchoutri/Apps/birdie/build/me.ivonunes.birdie)
#16 0x00007f3d1581e413 __libc_start_main (libc.so.6)
#17 0x000000000040d4ee n/a (/home/tchoutri/Apps/birdie/build/me.ivonunes.birdie)
ForlornWongraven commented 5 years ago

I just forked this on copr https://copr.fedorainfracloud.org/coprs/forlorn/bookworm/ and it builds just fine. Tested it on my Fedora29 box and it works flawlessly.

babluboy commented 5 years ago

@ForlornWongraven Many thanks for the update. Is there anything extra that you did to install Bookworm on Fedora 29?

Weird that both of the other two people in this issue had a core dump. Maybe there is something additional which worked the build for you. Could you please list your steps for installation?

Is copr linked to GitHub i.e. if I update the code on GitHub, will it automatically build the latest version on copr?

ForlornWongraven commented 5 years ago

No, i did not change anything. I only checked for required libs to build and added them to the SRPM that I use for COPR.

I have to manually start the rebuild once a new release has been published.

tchoutri commented 5 years ago

@ForlornWongraven Thank you very much! I've just opened Bookworm on my F29 from your COPR and it works perfectly!

captain-cavemaaaan commented 5 years ago

Yup; forlorn's version works ... the only obvious difference is that the original links libgthread-2.0.so

babluboy commented 5 years ago

No, i did not change anything. I only checked for required libs to build and added them to the SRPM that I use for COPR.

I have to manually start the rebuild once a new release has been published.

@ForlornWongraven Ok Thanks. I will mention the COPR on the Bookworm website. Is there a way that when I push a new Release into Github, the build on COPR can be triggered automatically ? Alternatively can you give me access to update the code and build when a new release is done?

ForlornWongraven commented 5 years ago

I have to check and test a bit. I'll update here once I know.