The source for frames 0 to 2 are not part of ceph, they are part of
glibc (libpthread).
This is what I normally do.
# apt-get install ceph-osd ceph-osd-dbg
# mkdir build && cd $_
# apt-get source ceph-osd
# cd ..
# gdb -d build/ /usr/bin/ceph-osd CoreDump
Something like that should work for you too (at least for the actual
ceph frames).
On Thu, Mar 26, 2020 at 11:29 AM Can Zhang <can(a)canx.me> wrote:
Hello,
I have a follow-up question. As the dbg packages in ubuntu, not like
rpm, don't have source code included, I also installed the source
package, and instruct gdb to find the directory with command
"directory /usr/src/ceph-14.2.7-75-g14b67dbc11", but it seems not
working:
(gdb) directory /usr/src/ceph-14.2.7-75-g14b67dbc11/src
Source directories searched: /usr/src/ceph-14.2.7-75-g14b67dbc11/src:$cdir:$cwd
(gdb) bt
#0 0x00007f3aafa619f3 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x564f5aedf1d8) at
../sysdeps/unix/sysv/linux/futex-internal.h:88
#1 __pthread_cond_wait_common (abstime=0x0, mutex=0x564f5aedf030,
cond=0x564f5aedf1b0) at pthread_cond_wait.c:502
#2 __pthread_cond_wait (cond=0x564f5aedf1b0, mutex=0x564f5aedf030) at
pthread_cond_wait.c:655
#3 0x0000564f4f3ff747 in AsyncMessenger::wait() ()
#4 0x0000564f4eb2119e in main ()
could you help me with debugging in ubuntu environment?
Best,
Can Zhang
On Tue, Mar 17, 2020 at 4:42 PM Can Zhang <can(a)canx.me> wrote:
Thanks for the reply. After some tinkering, I understand that
"make-debs.sh" intentionally remove *-dbg package building in normal
situations, quote "...and remove -dbg packages because they are large
and take time to build", so I comment out those lines:
====
diff --git a/make-debs.sh b/make-debs.sh
index 5a7ca1aff5..650940ccf2 100755
--- a/make-debs.sh
+++ b/make-debs.sh
@@ -46,8 +46,8 @@ tar -C $releasedir -jxf $releasedir/ceph_$vers.orig.tar.bz2
#
cp -a debian $releasedir/ceph-$vers/debian
cd $releasedir
-perl -ni -e 'print if(!(/^Package: .*-dbg$/../^$/))' ceph-$vers/debian/control
-perl -pi -e 's/--dbg-package.*//' ceph-$vers/debian/rules
+#perl -ni -e 'print if(!(/^Package: .*-dbg$/../^$/))' ceph-$vers/debian/control
+#perl -pi -e 's/--dbg-package.*//' ceph-$vers/debian/rules
#
# always set the debian version to 1 which is ok because the debian
# directory is included in the sources and the upstream version will
====
now the script could generate *-dbg*.deb files as expected.
Best,
Can Zhang
On Tue, Mar 17, 2020 at 11:47 AM kefu chai <tchaikov(a)gmail.com> wrote:
>
> On Mon, Mar 16, 2020 at 4:13 PM Can Zhang <can(a)canx.me> wrote:
> >
> > Hello,
> >
> > I use "make-debs.sh" script to build debian packages, but instead of
> > getting *-dbg packages, I get packages like
> > "ceph-base-dbgsym_14.2.7-75-g14b67dbc11-1_amd64.ddeb", which cannot
be
> > imported by reprepro, with errors like:
> >
> > Unknown file type: 'a2e592c703334bc9f55a62f6fac267d8 135503940 debug
> > optional ceph-base-dbgsym_14.2.7-75-g14b67dbc11-1_amd64.ddeb',
> > assuming source format...
> > Warning: File 'ceph-base-dbgsym_14.2.7-75-g14b67dbc11-1_amd64.ddeb'
> > looks like source but does not start with 'ceph_'!
>
> that's a known issue. see
>
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730572 .
>
> >
> > I must have missed something about the package building procedure.
> > What supposed to be the right way to build deb packages?
> >
>
> please read
https://wiki.debian.org/AutomaticDebugPackages for more
> info regarding to ddeb.
>
> i'd suggest search for answers first before shooting the question
> right to the maling list .
>
> >
> >
> > Best,
> > Can Zhang
> > _______________________________________________
> > Dev mailing list -- dev(a)ceph.io
> > To unsubscribe send an email to dev-leave(a)ceph.io
>
>
>
> --
> Regards
> Kefu Chai
_______________________________________________
Dev mailing list -- dev(a)ceph.io
To unsubscribe send an email to dev-leave(a)ceph.io