Issue Details (XML | Word | Printable)

Key: CORE-3912
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Peshkov
Reporter: Alexander Peshkov
Votes: 1
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

segfault in superclassic

Created: 29/Aug/12 01:41 PM   Updated: 23/Apr/13 02:01 PM
Component/s: None
Affects Version/s: 3.0 Initial, 2.5.1
Fix Version/s: 2.5.2, 3.0 Alpha 1

Time Tracking:
Not Specified

Environment: linux

Planning Status: Unspecified


 Description  « Hide
An issue was reported in support. Segfault with the following stacktrace happens:

# gdb /opt/fb25ss/bin/fb_smp_server /tmp/core
 GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
 Copyright (C) 2012 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law. Type "show copying"
 and "show warranty" for details.
 This GDB was configured as "x86_64-linux-gnu".
 For bug reporting instructions, please see:
 <http://bugs.launchpad.net/gdb-linaro/>...
 Reading symbols from /opt/fb25ss/bin/fb_smp_server...Reading symbols from
 /opt/fb25ss/bin/.debug/fb_smp_server.debug...done.
 done.
 [New LWP 27068]
 [New LWP 27070]
 [New LWP 27071]
 
 warning: Can't read pathname for load map: Errore di input/output.
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
 Core was generated by `/opt/fb25ss/bin/fb_smp_server'.
 Program terminated with signal 11, Segmentation fault.
 #0 0x0000000000436934 in Firebird::MemoryPool::deallocate (this=0x7f35dacc6030,
 block=0x7f35785de8f8) at ../src/common/classes/alloc.cpp:1884
 1884 fb_assert(blk->mbk_flags & MBK_USED);
 (gdb) thread apply all bt
 
 Thread 3 (Thread 0x7f35d755a700 (LWP 27071)):
 #0 0x00007f35d94cf0c1 in sem_timedwait () from
 /lib/x86_64-linux-gnu/libpthread.so.0
 #1 0x00007f35da4fd17f in Firebird::SignalSafeSemaphore::tryEnter
 (this=0x7f35dacd6338, seconds=3600, milliseconds=3600000)
 at ../src/common/classes/semaphore.cpp:169
 #2 0x00007f35da3d4474 in Jrd::ConfigStorage::touchThreadFunc
 (this=0x7f35dac58438) at ../src/jrd/trace/TraceConfigStorage.cpp:340
 #3 0x00007f35da3d433c in Jrd::ConfigStorage::touchThread (arg=0x7f35dac58438)
 at ../src/jrd/trace/TraceConfigStorage.cpp:323
 #4 0x00007f35da18fb28 in (anonymous namespace)::ThreadArgs::run
 (this=0x7f35d7559e70) at ../src/jrd/ThreadStart.cpp:128
 #5 0x00007f35da18fba9 in (anonymous namespace)::threadStart
 (arg=0x7f35dac64130) at ../src/jrd/ThreadStart.cpp:139
 #6 0x00007f35d94c8e9a in start_thread () from
 /lib/x86_64-linux-gnu/libpthread.so.0
 #7 0x00007f35d91f64bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
 #8 0x0000000000000000 in ?? ()
 
 Thread 2 (Thread 0x7f35d8894700 (LWP 27070)):
 #0 0x00007f35d94cefd0 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
 #1 0x00007f35da4fcf8c in Firebird::SignalSafeSemaphore::enter
 (this=0x7f35dace3ed8) at ../src/common/classes/semaphore.cpp:130
 #2 0x00007f35da194089 in (anonymous namespace)::shutdownThread () at
 ../src/jrd/why.cpp:933
 #3 0x00007f35da18fb28 in (anonymous namespace)::ThreadArgs::run
 (this=0x7f35d8893e70) at ../src/jrd/ThreadStart.cpp:128
 #4 0x00007f35da18fba9 in (anonymous namespace)::threadStart
 (arg=0x7f35dace1f28) at ../src/jrd/ThreadStart.cpp:139
 #5 0x00007f35d94c8e9a in start_thread () from
 /lib/x86_64-linux-gnu/libpthread.so.0
 #6 0x00007f35d91f64bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
 #7 0x0000000000000000 in ?? ()
 
 Thread 1 (Thread 0x7f35dace7740 (LWP 27068)):
 #0 0x0000000000436934 in Firebird::MemoryPool::deallocate (this=0x7f35dacc6030,
 block=0x7f35785de8f8) at ../src/common/classes/alloc.cpp:1884
 #1 0x0000000000428fde in Firebird::Array<pollfd,
 Firebird::InlineStorage<pollfd, 8ul> >::freeData (this=0x6bb5d0)
 at ../src/include/../common/classes/array.h:119
 #2 0x0000000000428ca0 in Firebird::Array<pollfd,
 Firebird::InlineStorage<pollfd, 8ul> >::~Array (this=0x6bb5d0,
 __in_chrg=<optimized out>)
 at ../src/include/../common/classes/array.h:98
 #3 0x0000000000428730 in Firebird::HalfStaticArray<pollfd,
 8ul>::~HalfStaticArray (this=0x6bb5d0, __in_chrg=<optimized out>)
 at ../src/include/../common/classes/array.h:460
 #4 0x0000000000428a6c in Select::~Select (this=0x6bb5c0, __in_chrg=<optimized
 out>) at ../src/remote/inet.cpp:235
 #5 0x00007f35d913f921 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
 #6 0x00007f35d913f9a5 in exit () from /lib/x86_64-linux-gnu/libc.so.6
 #7 0x00007f35d9125774 in __libc_start_main () from
 /lib/x86_64-linux-gnu/libc.so.6
 #8 0x0000000000405189 in _start ()


 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Peshkov added a comment - 31/Aug/12 10:39 AM
Segfault was due to missing GlobalPtr<> for variable INET_select.