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: Roland Olbricht <>
  • To: , mmd <>
  • Subject: Re: [overpass] apply_osc_to_db not handling dispatcher problems
  • Date: Thu, 7 Sep 2017 17:48:53 +0200

Hello,

a short remark: It should never happen as part of regular operations that you need to delete any lock files. Leftover lock files are always an indicator of a unexpectedly terminated process.

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.

Thank you for the simulation. Accroding to the information I find about SIGBUS, this happens if a shared memory file has been deleted. I found no information that it is related to sockets.

Can you check whether both the shared memory and the socket exist before the incident? I.e. please run the commands

ls -l $DB_DIR/osm*

ls -l /dev/shm/ | grep osm

ps -ef | grep dispatcher

This should give us an idea of the cause of events.

At mmd: what happens if you comment out line template_db/dispatcher.cc:768
*(uint32*)dispatcher_shm_ptr = 0;

This should give a clue about the order of events (whether the socket or the shared memory fails first). A broken pipe for a client if the server crashes would be expected behaviour. But this does no explain why the dispatcher has crashed.

BTW: thank you for using the mailing list. This makes answering from the train a lot easier.

Best regards,

Roland



Archive powered by MHonArc 2.6.19+.

Top of Page