SerializeObject failed with error code 0x80000004 for object
-
that’s because readelf for some stupid reason truncates the names by default, even if they’re in the last column (one explicitly needs
-W
), so a trivial grep would not find it.nm
is better suited for that. -
Badly not…
[root@server lib]# nm libkcserver.so nm: libkcserver.so: no symbols [root@serverlib lib]# readelf -w libkcserver.so Contents of the .eh_frame section: 00000000 ZERO terminator [root@server lib]#
It didn’t matter if I did this…
./bootstrap.sh CPPFLAGS="-I/usr/include/python2.7" CXXFLAGS="-O0 -ggdb3" ./configure \ --prefix=/ \ --localstatedir=/var \ --sysconfdir=/etc \ --exec-prefix=/usr \ --sbindir=/usr/bin \ --datarootdir=/usr/share \ --includedir=/usr/include \ --enable-release \ --enable-epoll \ --enable-python \ --disable-debug \ --disable-static \ --with-userscript-prefix=/etc/kopano/userscripts \ --with-quotatemplate-prefix=/etc/kopano/quotamails \ --with-searchscripts-prefix=/etc/kopano/searchscripts \ --with-php=7 \ PYTHON=/usr/bin/python2 make make install DESTDIR="$(realpath ${pkgdir})"
or this
./bootstrap.sh CPPFLAGS="-I/usr/include/python2.7" ./configure \ CXXFLAGS="-O0 -ggdb3" \ --prefix=/ \ --localstatedir=/var \ --sysconfdir=/etc \ --exec-prefix=/usr \ --sbindir=/usr/bin \ --datarootdir=/usr/share \ --includedir=/usr/include \ --enable-release \ --enable-epoll \ --enable-python \ --disable-debug \ --disable-static \ --with-userscript-prefix=/etc/kopano/userscripts \ --with-quotatemplate-prefix=/etc/kopano/quotamails \ --with-searchscripts-prefix=/etc/kopano/searchscripts \ --with-php=7 \ PYTHON=/usr/bin/python2 make make install DESTDIR="$(realpath ${pkgdir})"
Here is the log for the last build command…
This is the packaging script…
Any ideas?
-
==> Tidying install... -> Removing libtool files... -> Purging unwanted files... -> Removing static library files... -> Stripping unneeded symbols from binaries and libraries...
This strip may be it, and it’s not coming from KC. But worry not, kopano-server can be started right from the build directory, it does not need
make install
or extra packaging for a debug session.nm .libs/libkcserver.so
-
You’re awesome! This has been it!
I had to change the packager defaults to not strip symbols or remove libtool .la files and debug informations. I disabled it specifically for this package.
/etc/makepkg.conf
######################################################################### # GLOBAL PACKAGE OPTIONS # These are default values for the options=() settings ######################################################################### # # Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug) # A negated option will do the opposite of the comments below. # #-- strip: Strip symbols from binaries/libraries #-- docs: Save doc directories specified by DOC_DIRS #-- libtool: Leave libtool (.la) files in packages #-- staticlibs: Leave static library (.a) files in packages #-- emptydirs: Leave empty directories in packages #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip #-- purge: Remove files specified by PURGE_TARGETS #-- upx: Compress binary executable files using UPX #-- optipng: Optimize PNG images with optipng #-- debug: Add debugging flags as specified in DEBUG_* variables # OPTIONS=(!strip docs libtool staticlibs emptydirs zipman purge !optipng !upx debug)
The method finally got visible!
[root@server alarm]# nm /usr/lib/libkcserver.so | grep SerializeM 0018da7c t _ZN2KC16SerializeMessageEPNS_9ECSessionEPNS_10ECDatabaseEPNS_19ECAttachmentStorageEPKNS_10StreamCapsEjjjP4GUIDjPNS_12ECSerializerEb
Now we can go on with gdb :D
Marti
-
@jengelh I couldn’t start kopano from build directory because its build in a chroot environment on a different device :)
-
Let me put up an obligatory questioning of the motive here ;-)
- thought you wanted a native build because “I build this for Armv7 and it takes a while to finish”
- if you have a fast machine to compile with, the DB could be transferred
I built KC in reasonable time even with an AMD AXP from 2003, which is probably a reasonable assumption for what a today’s raspberry pi ARM would be capable of.
-
I build for odroid on another ordroid :) both are armv7 and way faster as a RPI. The setup for the chroot environment and compilation take about 30 minutes together. A transfer of the database takes for ever. I don‘t think this is an option ;)
I could speed up compilation with distributed compilation. But I had no time to update my workers with gcc 7.
-
It is because libtidy crashes, and that kills kopano-backup’s worker subprocess, which the main process also completely fails to act on.
The server side then reports 80000004 because the client disappeared in the middle of a send(2) call.
-
Hey jengelh,
I’d like to say thank you for all the tremendous help you gave going through the code finding the problem in the last place one would expect!
Marti
-