View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000062 | Pgpool-II | Bug | public | 2013-06-26 01:29 | 2013-07-24 07:47 |
| Reporter | tuomas | Assigned To | t-ishii | ||
| Priority | normal | Severity | major | Reproducibility | sometimes |
| Status | resolved | Resolution | open | ||
| Platform | Linux 64bit | OS | Ubuntu | OS Version | 12.04 |
| Summary | 0000062: Slave network outage causes a segmentation fault on main process | ||||
| Description | pgpool log is attached. postgresql 9.1.x, pgpool 3.2.4. Streaming replication mode, load balancing off, parallel off, memory cache off. Network outage (packet loss) on slave caused pgpool main process to segfault. gdb gives only this: Core was generated by `pgpool -n'. Program terminated with signal 11, Segmentation fault. #0 __memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1676 1676 ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: No such file or directory. (gdb) bt #0 __memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1676 0000001 0x0000000000000000 in ?? () | ||||
| Steps To Reproduce | It has happened a couple of times so far, but not sure how to reproduce it. | ||||
| Additional Information | The main(?) process dies, but the child processes stay alive and the port reserved, so it can't just be automatically restarted. | ||||
| Tags | No tags attached. | ||||
|
|
|
|
|
The log shows that pgpool main process detected an error in reading the socket to backend. I examined the code related to this and found the low layer function does not handle the error case correctly when used in main process and possibbly causes memory copy overrun later on. I believe this is the cause of the segfault. Attached patch should fix the problem. Could you try it out? |
|
|
|
|
|
Thanks! I'll give it a try. |
|
|
The problem hasn't reappeared after installing the patch, so this seems to fix it. Thanks! |
|
|
Thanks for the report! The fix will appear in the next pgpool-II minor version up release. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-06-26 01:29 | tuomas | New Issue | |
| 2013-06-26 01:29 | tuomas | File Added: pgpool.log | |
| 2013-06-26 08:26 | t-ishii | Note Added: 0000294 | |
| 2013-06-26 08:26 | t-ishii | Assigned To | => t-ishii |
| 2013-06-26 08:26 | t-ishii | Status | new => assigned |
| 2013-06-26 08:27 | t-ishii | File Added: pool_stream.c.patch | |
| 2013-06-26 11:57 | t-ishii | Status | assigned => feedback |
| 2013-06-26 23:59 | tuomas | Note Added: 0000296 | |
| 2013-06-26 23:59 | tuomas | Status | feedback => assigned |
| 2013-07-01 11:57 | t-ishii | Status | assigned => feedback |
| 2013-07-20 13:01 | t-ishii | Changeset attached | => pgpool2 master 7c09d884 |
| 2013-07-24 04:27 | tuomas | Note Added: 0000308 | |
| 2013-07-24 04:27 | tuomas | Status | feedback => assigned |
| 2013-07-24 07:47 | t-ishii | Note Added: 0000309 | |
| 2013-07-24 07:47 | t-ishii | Status | assigned => resolved |