Overpass API developpement

Text archives Help


Re: [overpass] Segmentation fault


Chronological Thread 
  • From: Roland Olbricht < >
  • To:
  • Subject: Re: [overpass] Segmentation fault
  • Date: Sun, 30 Jul 2017 12:39:40 +0200

Hello Igor,

thank you for sharing the crash information.

Please change line 80 of src/bin/fetch_osc_and_apply.sh from

cat $TMP_DIFF_UNCOMPRESS | $EXEC_DIR/update_database $2 >> /dev/null 2>&1

to

cat $TMP_DIFF_UNCOMPRESS | $EXEC_DIR/update_database $2

(drop everything after $2)

That way, we should see whether "update_database" had written some error messages before crashing and the rough location where it crashes.

You need to remake the binaries afterwards. Assuming you are running a release from https://dev.overpass-api.de/releases/, this means the command:

make install

Second step of escalation is to recompile with debugging symbols, then
running the single command that crashes:

First:

change line 80 of src/bin/fetch_osc_and_apply.sh from

cat $TMP_DIFF_UNCOMPRESS | $EXEC_DIR/update_database $2

to

cat $TMP_DIFF_UNCOMPRESS >/tmp/crash_input.osc; echo "flags: $2"; exit 0


Second:

make clean
make -j 4 CXXFLAGS="-O2 -ggdb" install


Third:

Re-run, then run

gdb bin/update_database

Then, inside gdb run (with $FLAGS replaced with the flags printed in the previous step:

run $FLAGS </tmp/crash_input.osc

This should stop at the single line where the software really crashes.

By the way: I did never manage to get useful information out of a core dump. I we get forward that way, I would like to know how because that might simplify future post-mortem analysis.

I'm sorry for the necessary effort.


Best regards,

Roland



Archive powered by MHonArc 2.6.19+.

Top of page