On 24/06/2015 12:05, Alex Peshkoff wrote: > On 06/24/2015 05:56 PM, Adriano dos Santos Fernandes wrote: >> On 24/06/2015 10:06, Alex Peshkoff wrote: >>> Confirmed on linux. >>> >>> >> I can't confirm in Linux 64-bit. > I did not want to say that there is segfault. What I confirm is > incorrect code in .c file. > Segfault when buffer overrun happens is highly compiler/OS- dependent thing. > >> What I see constantly is this segfault: >> >> Segmentation fault >> Couldn't turn forced writes off > Interesting too... > Crashs with clang ang gcc.
A sleep before the "system" call does not help, but manually calling the command does not produce problem. Here is core analysis: ---------------- asfernandes@mint-vm ~/fb/dev/trunk.git $ gdb gfix ./gen/examples/core GNU gdb (GDB) 7.6.1-ubuntu Copyright (C) 2013 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://www.gnu.org/software/gdb/bugs/>... Lendo símbolos de /home/asfernandes/fb/dev/trunk.git/gen/Debug/firebird/bin/gfix...concluído. [New LWP 25743] [New LWP 25740] [New LWP 25739] warning: Can't read pathname for load map: Erro de entrada/saída. warning: Could not load shared library symbols for 2 libraries, e.g. ../../gen/Debug/firebird/intl/libfbintl.so. Use the "info sharedlibrary" command to see the complete listing. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `gfix -write async ../../gen/examples/employee.fdb'. Programa terminado com sinal 11, Segmentation fault. #0 0x00002ba584792f08 in ?? () (gdb) bt #0 0x00002ba584792f08 in ?? () #1 0x0000000188931710 in ?? () #2 0x00002ba5822d4e78 in ?? () #3 0x00000000ffffffc7 in ?? () #4 0x00000000822d49d0 in ?? () #5 0x00002ba588931d50 in ?? () #6 0x00002ba584945a4e in ?? () #7 0x0000000000000000 in ?? () (gdb) info threads Id Target Id Frame 3 Thread 0x2ba58222be00 (LWP 25739) 0x00002ba583325cf7 in sched_yield () from /lib/x86_64-linux-gnu/libc.so.6 2 Thread 0x2ba58443a700 (LWP 25740) 0x00002ba58304af60 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0 * 1 Thread 0x2ba588932700 (LWP 25743) 0x00002ba584792f08 in ?? () (gdb) t 2 [Switching to thread 2 (Thread 0x2ba58443a700 (LWP 25740))] #0 0x00002ba58304af60 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0 (gdb) bt #0 0x00002ba58304af60 in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00002ba5827983b8 in Firebird::SignalSafeSemaphore::enter (this=0x2ba582211208) at /home/asfernandes/fb/dev/trunk.git/src/common/classes/semaphore.cpp:163 #2 0x00002ba5826d43fc in (anonymous namespace)::shutdownThread () at /home/asfernandes/fb/dev/trunk.git/src/yvalve/why.cpp:809 #3 0x00002ba5827846c2 in (anonymous namespace)::ThreadArgs::run (this=0x2ba584439d90) at /home/asfernandes/fb/dev/trunk.git/src/common/ThreadStart.cpp:77 #4 0x00002ba582784768 in (anonymous namespace)::threadStart (arg=0x2ba582211260) at /home/asfernandes/fb/dev/trunk.git/src/common/ThreadStart.cpp:92 #5 0x00002ba583044f6e in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00002ba5833549cd in clone () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) t 3 [Switching to thread 3 (Thread 0x2ba58222be00 (LWP 25739))] #0 0x00002ba583325cf7 in sched_yield () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt #0 0x00002ba583325cf7 in sched_yield () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00002ba582784a23 in Thread::yield () at /home/asfernandes/fb/dev/trunk.git/src/common/ThreadStart.cpp:243 #2 0x00002ba5826e8564 in Why::Dispatcher::shutdown (this=0x2ba582211598, userStatus=0x7fff0af489a0, timeout=36000000, reason=-7) at /home/asfernandes/fb/dev/trunk.git/src/yvalve/why.cpp:5810 #3 0x00002ba5826dff12 in fb_shutdown (timeout=5000, reason=-7) at /home/asfernandes/fb/dev/trunk.git/src/yvalve/why.cpp:3716 #4 0x00002ba5826b95d8 in Firebird::PluginManager::unregisterModule (this=0x2ba582b1aa60 <Why::MasterImplementation::getPluginManager()::manager>, cleanup=0x2ba582318928) at /home/asfernandes/fb/dev/trunk.git/src/yvalve/PluginManager.cpp:1053 #5 0x00002ba5826c4fb4 in Firebird::IPluginManagerBaseImpl<Firebird::PluginManager, Firebird::CheckStatusWrapper, Firebird::IVersionedImpl<Firebird::PluginManager, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IPluginManager> > >::cloopunregisterModuleDispatcher (self=0x2ba582b1aa68 <Why::MasterImplementation::getPluginManager()::manager+8>, cleanup=0x2ba582318928) at /home/asfernandes/fb/dev/trunk.git/src/include/firebird/IdlFbInterfaces.h:6168 #6 0x00002ba585fe9c06 in ?? () #7 0x00002ba582318928 in ?? () #8 0x00002ba582b1aa68 in Why::MasterImplementation::getPluginManager()::manager () from /home/asfernandes/fb/dev/trunk.git/gen/Debug/firebird/bin/../lib/libfbclient.so.2 #9 0x00007fff0af48c10 in ?? () #10 0x00002ba585fe9d0a in ?? () #11 0x00007fff0af48c00 in ?? () #12 0x00002ba582318920 in ?? () #13 0x00002ba582b1aa68 in Why::MasterImplementation::getPluginManager()::manager () from /home/asfernandes/fb/dev/trunk.git/gen/Debug/firebird/bin/../lib/libfbclient.so.2 #14 0x00002ba58222f328 in ?? () #15 0x00007fff0af48c20 in ?? () #16 0x0000000000000000 in ?? () ---------------- Adriano ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
