JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Vacuum » Segmentation violation! Goto page 1, 2  Next
Post new topic  Reply to topic View previous topic :: View next topic 
Segmentation violation!
PostPosted: Fri Jan 29, 2010 11:51 am Reply with quote
der Uhu
Guest




Ну што..... попытался я его попробовать на своём debian/sid (qt 4.5.3)
Пробовал ставить пакет для ubuntu amd64.
И собирать из исходников.
Результат всегда один: segmentation violation при запуске.
PostPosted: Fri Jan 29, 2010 2:01 pm Reply with quote
Lion
Разработчик
Разработчик
Joined: 10 Jan 2005
Posts: 699
Location: г. Волжский




попробуй запустить от рута
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate ICQ Number
PostPosted: Fri Jan 29, 2010 2:49 pm Reply with quote
Guest




Lion wrote:
попробуй запустить от рута

Попробовал.
Segmentation violation.
Где-то тут:
Code:
(gdb) bt
#0  0x00007fffdf0ea9dd in Notifications::initObjects() () from /usr/lib/vacuum/plugins/libnotifications.so
#1  0x00000000004127d4 in ?? ()
#2  0x0000000000412b61 in ?? ()
#3  0x000000000040a354 in ?? ()
#4  0x00007ffff5bc5abd in __libc_start_main (main=<value optimized out>, argc=<value optimized out>,
    ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>,
    stack_end=0x7fffffffe498) at libc-start.c:222
PostPosted: Fri Jan 29, 2010 2:55 pm Reply with quote
Lion
Разработчик
Разработчик
Joined: 10 Jan 2005
Posts: 699
Location: г. Волжский




а если удалить libnotifications?
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate ICQ Number
PostPosted: Fri Jan 29, 2010 2:57 pm Reply with quote
Guest




Lion wrote:
попробуй запустить от рута

Ну или от valgrind'а - начинается вот с такого:
Code:
==21944== Memcheck, a memory error detector
==21944== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==21944== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==21944== Command: vacuum
==21944== Parent PID: 3783
==21944==
==21944== Invalid read of size 8
==21944==    at 0x1F11D9DA: Notifications::initObjects() (in /usr/lib/vacuum/plugins/libnotifications.so)
==21944==    by 0x4127D3: ??? (in /usr/bin/vacuum)
==21944==    by 0x412B60: ??? (in /usr/bin/vacuum)
==21944==    by 0x40A353: ??? (in /usr/bin/vacuum)
==21944==    by 0x6D2AABC: (below main) (libc-start.c:222)
==21944==  Address 0x16bbee28 is 24 bytes inside a block of size 144 free'd
==21944==    at 0x4C21ACE: operator delete(void*) (vg_replace_malloc.c:346)
==21944==    by 0x605FFE0: QObjectPrivate::deleteChildren() (in /usr/lib/libQtCore.so.4.5.3)
==21944==    by 0x60683AE: QObject::~QObject() (in /usr/lib/libQtCore.so.4.5.3)
==21944==    by 0x603A304: QPluginLoader::~QPluginLoader() (in /usr/lib/libQtCore.so.4.5.3)
==21944==    by 0x410A0E: ??? (in /usr/bin/vacuum)
==21944==    by 0x410D1C: ??? (in /usr/bin/vacuum)
==21944==    by 0x412914: ??? (in /usr/bin/vacuum)
==21944==    by 0x412B60: ??? (in /usr/bin/vacuum)
==21944==    by 0x40A353: ??? (in /usr/bin/vacuum)
==21944==    by 0x6D2AABC: (below main) (libc-start.c:222)

и дальше аналогично, в основном в вызовах addAction().....
PostPosted: Fri Jan 29, 2010 2:58 pm Reply with quote
Guest




Lion wrote:
а если удалить libnotifications?

Удалил. То же самое.
PostPosted: Fri Jan 29, 2010 3:34 pm Reply with quote
allive
Guest




Хм, у меня такая же проблема на нетбуке.
Хотя на десктопе запускается нормально.
Странно, версии библиотек везде одинаковые.
PostPosted: Fri Jan 29, 2010 8:29 pm Reply with quote
Lion
Разработчик
Разработчик
Joined: 10 Jan 2005
Posts: 699
Location: г. Волжский




Даже не знаю что посоветовать, у меня такое ни на одной из 3-х убунт не воспроизводится. Попробуйте поэкспериментировать, может стоит собрать 32-х разрадную версию.
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate ICQ Number
PostPosted: Sat Jan 30, 2010 9:36 am Reply with quote
Guest




Lion wrote:
Даже не знаю что посоветовать, у меня такое ни на одной из 3-х убунт не воспроизводится. Попробуйте поэкспериментировать, может стоит собрать 32-х разрадную версию.

Здесь доло не в битности. Я собрал с отладкой, прогнал через valgrind, там чётко видно, что при инициализации уничтожается какой то объект, связанный с plugin-loader'ом - а потом его снова пытаются использовать:
Code:
==31920== Memcheck, a memory error detector
==31920== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==31920== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==31920== Command: /usr/local/bin/vacuum
==31920== Parent PID: 3783
==31920==
==31920== Invalid read of size 8
==31920==    at 0x1F10681A: Notifications::initObjects() (notifications.cpp:118)
==31920==    by 0x412643: PluginManager::initPlugins() (pluginmanager.cpp:377)
==31920==    by 0x4129D0: PluginManager::restart() (pluginmanager.cpp:173)
==31920==    by 0x40A2A3: main (main.cpp:13)
==31920==  Address 0x16c143a8 is 24 bytes inside a block of size 144 free'd
==31920==    at 0x4C21ACE: operator delete(void*) (vg_replace_malloc.c:346)
==31920==    by 0x605FFE0: QObjectPrivate::deleteChildren() (in /usr/lib/libQtCore.so.4.5.3)
==31920==    by 0x60683AE: QObject::~QObject() (in /usr/lib/libQtCore.so.4.5.3)
==31920==    by 0x603A304: QPluginLoader::~QPluginLoader() (in /usr/lib/libQtCore.so.4.5.3)
==31920==    by 0x4108EE: PluginManager::removePluginItem(QUuid const&, QString const&) (pluginmanager.cpp:404)
==31920==    by 0x410BDC: PluginManager::unloadPlugin(QUuid const&, QString const&) (pluginmanager.cpp:414)
==31920==    by 0x412784: PluginManager::initPlugins() (pluginmanager.cpp:370)
==31920==    by 0x4129D0: PluginManager::restart() (pluginmanager.cpp:173)
==31920==    by 0x40A2A3: main (main.cpp:13)
PostPosted: Sat Jan 30, 2010 12:01 pm Reply with quote
Lion
Разработчик
Разработчик
Joined: 10 Jan 2005
Posts: 699
Location: г. Волжский




Кажется я понял где проблема. Попробуй удалить libtraymanager.so
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate ICQ Number
PostPosted: Sat Jan 30, 2010 12:36 pm Reply with quote
Guest




Lion wrote:
Кажется я понял где проблема. Попробуй удалить libtraymanager.so

Ну!!!!
Разродилось!!! Smile
Начнём пробовать-с!........
PostPosted: Sat Jan 30, 2010 12:39 pm Reply with quote
Lion
Разработчик
Разработчик
Joined: 10 Jan 2005
Posts: 699
Location: г. Волжский




Баг исправлю в ближайшее время.
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate ICQ Number
PostPosted: Sat Jan 30, 2010 12:43 pm Reply with quote
Guest




Недолго музыка играла.......
Подключил я существующую учётную запись на jabber.ru и выбрал элемент меню в сети.
После этого (surprise, surprise) я получил до боли знакомый segmentation violation Smile
Вы его всё таки погоняйте через valgrind - на версию 1.0 он пока явно не тянет.......
PostPosted: Sat Jan 30, 2010 12:47 pm Reply with quote
Lion
Разработчик
Разработчик
Joined: 10 Jan 2005
Posts: 699
Location: г. Волжский




Возможно это из-за той же баги.
View user's profile Send private message Send Jabber-message HabaHaba - Fast communicate ICQ Number
PostPosted: Sat Jan 30, 2010 12:52 pm Reply with quote
Guest




Lion wrote:
Возможно это из-за той же баги.

Очень похоже что вы создаёте какой то объект как потомок другого объекта - и сохраняете ссылку на этот объект. Потом родительский объект где то удаляется (возможно даже неявно), удаляет всех своих потомков - но вы продолжаете пользоваться сохранённой ссылкой.
Segmentation violation!
JRuDevels Forum Index » Vacuum
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT + 3 Hours  
Page 1 of 2  
Goto page 1, 2  Next
  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin