Hi,
looking from your backtrace, I believe this is the same issue that was
reported as https://github.com/licq-im/licq/issues/39, however that
issue was never resolved due to lack of information.
Could you please give us some more details of the problem.
- Which version of Licq are you using? And did you build it yourself or
get it pre-built from a Linux distribution?
- Does this happen every time you send a message or only sometimes?
- Does it matter which contact you try to send the message to?
- Does the crash only happen when sending to ICQ contacts or can you
reproduce it with Jabber contacts as well?
- Is the message received by the contact or does Licq crash before the
message is sent?
- Please run Licq in a terminal with -d15 as argument and copy the last
lines printed before the crash.
/Anders
On 2014-03-23 14:00, Thorsten Bonow wrote:
> It used to happen every time. After the update of the package only one crash
> occured today on my computer at home (since Friday afternoon).
Do you know which was the previous version you were using that had the
crash every time?
> 10:59:36.813 [INF] licq: Initializing socket for service 0x10.
> 10:59:36.813 [INF] licq: Requesting service socket for FAM 0x10
> (#2142/#636)...
> 10:59:36.954 [INF] icq/2: Redirect for service 0x10 received.
> 10:59:36.957 [INF] licq: Connecting to separate server for service 0x10.
> 10:59:36.957 [INF] licq: Connecting to 205.188.17.131:0...
> 11:01:01.317 [INF] icq/2: Sending message through server (#2147).
> 11:01:02.256 [INF] icq/2: Received updated contact information from server.
> 11:01:44.173 [WAR] licq: Can't establish service 0x10 socket.
> 11:01:44.173 [WAR] licq: Initialization of socket for service 0x10
> failed, failing event.
> Licq Segmentation Violation Detected.
The crash is caused by an object being deleted twice. The backtrace only
shows the second time it is deleted, I would like to also find the first
occurance.
I have attached a patch that should make Licq crash on the first delete
instead. Could you please apply it, build Licq, reproduce the fault and
send backtrace.gdb from the crashes. The patch should apply cleanly on
1.8.0, 1.8.1, or current master as those files haven't changed in a while.
There might also be a workaround to avoid the crashes that you can use
until this is fixed. Edit ~./licq/users/<UIN>.ICQ_/<UIN>.conf (where
<UIN> is your account) and set UseBART=0. That should disable the code
where the crash is triggered, however you won't get automatic updates of
profile pictures any longer.
/Anders
git clone https://github.com/licq-im/licq totos-licq
patched the code via
patch -p1 < licq_debug_event_assert.patch
That worked without a flaw.
Changed into totos-licq/licq, created a build directory, changed into that and called:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/licq ..
make && make install
That did work.
Then I created a build directory in totos-licq/icq and changed into that.
Calling
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/licq ..
worked again, but make failed:
toto@catweazle:~/src/totos-licq/icq/build$ make
[ 5%] Building CXX object src/CMakeFiles/protocol_icq.dir/oscarservice.cpp.o
/home/toto/src/totos-licq/icq/src/oscarservice.cpp: In function ‘void* LicqIcq::OscarServiceSendQueue_tep(void*)’:
/home/toto/src/totos-licq/icq/src/oscarservice.cpp:595:12: error: ‘class Licq::Event’ has no member named ‘myLockCounter’
e->myLockCounter++;
^
/home/toto/src/totos-licq/icq/src/oscarservice.cpp:598:14: error: ‘class Licq::Event’ has no member named ‘myLockCounter’
e->myLockCounter--;
^
/home/toto/src/totos-licq/icq/src/oscarservice.cpp:609:12: error: ‘class Licq::Event’ has no member named ‘myLockCounter’
e->myLockCounter--;
^
make[2]: *** [src/CMakeFiles/protocol_icq.dir/oscarservice.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/protocol_icq.dir/all] Error 2
make: *** [all] Error 2
/Anders
It looks like you're building against unpatched headers. Do you have the
Debian packages for Licq still installed?
Uninstall all the Licq packages first so you only have the patched build
tree.
And yes, you will need to compile everything since the patch changes the
API between Licq and the plugins.
/Anders
...
I would like to know what packets you are getting with id zero that are
causing this. Could you please run again with -d31 and post the packet
dumps. I don't need the log on messages (which contains your password),
only post packets after "Server says we're now: Online" until the crash.
/Anders
> I mailed the data to you (I was unfomfortable sending this data via
> google groups). Did you get it?
No, I haven't gotten any mail from you other than the ones sent through
the list.
Another way is to use pastebin.com or similar service.
/Anders