Subject: Overpass API developpement
List archive
- From: mmd <>
- To:
- Subject: Re: [overpass] Segmentation fault
- Date: Sun, 30 Jul 2017 11:27:50 +0200
Hi,
Am 30.07.2017 um 10:49 schrieb "Christian Müller":
> Hi Igor,
>
>
> the gory details are:
>
> - recompile the program update_database to contain debugging symbols
> (-ggdb switch if you compile with gcc, you might also have to disable
> optimization flags, i.e. no "-O2" or "-O3" flags
Right, compiling Overpass API with debugging symbols would be needed in
any case. If you previously compiled Overpass API using -O3 you may have
run into this issue:
https://github.com/drolbr/Overpass-API/issues/316
At the moment, the recommendation is to use -O2. On some compilers -O3
is known to trigger crashes and should be avoided.
>
> - after you have ensured this, you may run "update_database" with the
> gnu debugger (CLI programm called "gdb", but there are GUI frontends
> available also)
I think that's a bit too complicated, as update_database gets called
form a script. I would rather recommend to set the core file size to
unlimited before running the script.
ulimit -c unlimited
Once update_database crashed, it will create a core file with all
relevant details.
> - once gdb has loaded your segfaulting program, you can "start" or "run"
> it and then "backtrace" it, once the error has occured
That can be done later using gdb ./update_database core
>
> -> the backtrace will give you detailed information what function of
> "update_databases" ran, when the segfault occured and you can try to
> bugfix the source with this information
Before fixing, we should first try to find the root cause :) . After
all, this may not be a source issue.
>
> If update_database creates multiple threads you may have to select the
> segfaulting thread first to get a decent backtrace. Read
> https://sourceware.org/gdb/onlinedocs/gdb/Threads.html for more
> information on this.
>
>
Overpass API as of version 0.7.54 is all single threaded, so you can
skip this bit.
Cheers,
mmd
- Re: [overpass] Segmentation fault, Igor Brejc, 07/29/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
- Re: [overpass] Segmentation fault, Christian Müller, 07/30/2017
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, Roland Olbricht, 07/30/2017
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
- Re: [overpass] Segmentation fault, Roland Olbricht, 07/30/2017
- Message not available
- Re: [overpass] Segmentation fault, Roland Olbricht, 07/30/2017
- Message not available
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, mmd, 07/30/2017
- Re: [overpass] Segmentation fault, Christian Müller, 07/30/2017
- Re: [overpass] Segmentation fault, Igor Brejc, 07/30/2017
Archive powered by MHonArc 2.6.19+.