Skip to Content.
Sympa Menu

overpass - Re: [overpass] apply_osc_to_db not handling dispatcher problems

Subject: Overpass API developpement

List archive

Re: [overpass] apply_osc_to_db not handling dispatcher problems


Chronological Thread 
  • From: mmd <>
  • To:
  • Subject: Re: [overpass] apply_osc_to_db not handling dispatcher problems
  • Date: Wed, 6 Sep 2017 17:29:22 +0200

Am 06.09.2017 um 16:03 schrieb Igor Brejc:
>
> Thank you for reporting the issue. Can you please give details?
>
>
> Basic details: I run both the main dispatcher and the diff script (as
> described on my page) as systemd units. Since I don't keep the server
> running when I don't need Overpass, I pm-suspend it until the next use.
> Usually, after I bring the machine back from suspension:
>
> 1. the main unit (dispatcher) is down for some reason (I don't really
> know why, but I do know I have to delete the lock files before I can
> restart it),
> 2. while the diff unit goes on applying next diffs and does not detect
> the main service being down, as I described in the initial mail.
>

I tried to simulate this via vagrant suspend + up and found that
osm3s_query immediately returned with:

runtime error: open64: 32 Broken pipe /osm3s_v0.7.54_osm_base
Dispatcher_Client::request_read_and_idx::socket::1

... while dispatcher crashed with a SIGBUS error right after it received
a command from osm3s_query.

Not sure if this is the same in your setup.

For further analysis, I would turn off diff processing before triggering
the pm-suspend, then after resume:

- find out the dispatcher process id

$ pidof dispatcher
-> returns #process_id, e.g. 1234

- attach gdb to the running dispatcher process,

$ gdb
attach #process_id e.g.: attach 1234
continue

- run some query via osm3s_query and

- see where the dispatcher crashes.

Cheers




Archive powered by MHonArc 2.6.19+.

Top of Page