bug-gnunet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-GNUnet] GNUnet-0.8.0c dies with assertion failures


From: jayjwa
Subject: Re: [bug-GNUnet] GNUnet-0.8.0c dies with assertion failures
Date: Mon, 28 Sep 2009 13:19:42 -0400
User-agent: Alpine 2.00 (LNX 1167 2008-08-23)



I don't think my messages are getting through. Evidently Spamhaus took control of the Internet's mail and is making me pay for something someone else did, sans proof.


   ----- The following addresses had permanent fatal errors -----
<address@hidden>
    (reason: 554 5.7.1 Service unavailable; Client host [67.242.55.204] blocked 
using zen.spamhaus.org; http://www.spamhaus.org/query/bl?ip=67.242.55.204)

   ----- Transcript of session follows -----
... while talking to mailin.informatik.tu-muenchen.de.:
DATA
<<< 554 5.7.1 Service unavailable; Client host [67.242.55.204] blocked using 
zen.spamhaus.org; http://www.spamhaus.org/query/bl?ip=67.242.55.204
554 5.0.0 Service unavailable
<<< 554 5.5.1 Error: no valid recipients



Reporting-MTA: dns; atr2.ath.cx
Received-From-MTA: DNS; localhost
Arrival-Date: Mon, 28 Sep 2009 12:46:50 -0400

Final-Recipient: RFC822; address@hidden
Action: failed
Status: 5.7.1
Remote-MTA: DNS; mailin.informatik.tu-muenchen.de
Diagnostic-Code: SMTP; 554 5.7.1 Service unavailable; Client host 
[67.242.55.204] blocked using zen.spamhaus.org; 
http://www.spamhaus.org/query/bl?ip=67.242.55.204
Last-Attempt-Date: Mon, 28 Sep 2009 12:50:08 -0400



Date: Mon, 28 Sep 2009 12:46:49 -0400
From: jayjwa <address@hidden>
To: Christian Grothoff <address@hidden>
Cc: address@hidden
Subject: Re: [bug-GNUnet] GNUnet-0.8.0c dies with assertion failures



On Thu, 24 Sep 2009, Christian Grothoff wrote:

On Wednesday 23 September 2009 02:47:29 jayjwa wrote:
The gnunet daemon always dies with the following assertion errors:

Sep 22 20:23:09 FATAL: Internal error: assertion failed at mysql.c:427.
zsh: abort      gnunetd -u daemon -d

The gnunetd logfiles fill with these messages, but no other info.

Hmm.  That should happen if the DB contains an entry that is corrupted in a
particular way (and the code fails to test for it "nicely").  The following
patch (also now in SVN HEAD) should fix this:

sh-4.0$ svn diff mysql.c
Index: mysql.c
===================================================================
--- mysql.c     (revision 9006)
+++ mysql.c     (working copy)
@@ -418,6 +418,11 @@
  contentSize = *(unsigned int *) result[0].buffer;
  if (contentSize < sizeof (GNUNET_DatastoreValue))
    return NULL;                /* error */
+  if (contentSize > GNUNET_MAX_BUFFER_SIZE)
+    {
+       GNUNET_GE_BREAK (NULL, 0); /* far too big */
+       return NULL;
+    }
  contentSize -= sizeof (GNUNET_DatastoreValue);
  type = *(unsigned int *) result[1].buffer;
  prio = *(unsigned int *) result[2].buffer;


Alternatively you could drop the GNUnet database and recreate (but that's
obviously not a good solution and would not prevent this from happening
again).  With the above patch, you'll still get a warning printed whenever
this corrupt DB entry is hit (but no more crashes).

Before getting this reply, I tried the drop database solution and that seems to have worked. I just deleted it and then recreated it the same again. It was originally made on an older MySQL back when I had an older version. Perhaps there's something different about the new version. I'll try the patch as well.



Running the test suite also ends similarly:

Sep 22 20:20:57 `lt_dlopenext' failed for library
`libgnunetmodule_transport' with error: file not found
Sep 22 20:20:57 Internal error: assertion failed at handler.c:840.
/bin/sh: line 4: 13511 Aborted                 ${dir}$tst
FAIL: identitytest
===================================
1 of 1 tests failed
Please report to address@hidden
===================================

Which is odd because that file does exist at
/usr/lib/GNUnet/libgnunetmodule_transport.so


That's a completely different error.  You need to set "GNUNET_PREFIX=/usr"
before running the testsuite and then this crash should disappear.  Without
this environment variable, the code does not look in "/usr" and fails to find
the plugin.


I thought I set it, but it's quite possible I didn't.


Since then, I've updated to the most recent versions of MySQL and
 libmicrohttp and recompiled GNUnet. The problems still presists. The
 database server appears fine - I can login as the GNUnet user, work with
 the gnunet database, etc.

As a side note, I tried to sign up for bug tracking to better follow this
issue, but there appears to be errors there too. I enter the confirmation
 URL, click 'update account' after supplying the requested info, and I only
 get the follow:


This account is protected. You are not allowed to access this until the
account protection is lifted.

Please use the "Back" button in your web browser to return to the previous
page. There you can correct whatever problems were identified in this error
or select another action. You can also click an option from the menu bar to
go directly to a new section.

Strange, I can see your account but it is not marked as "protected".  I've
clicked the button for resetting your password.  If that does not help, please
contact me off-list and maybe we can figure it out.

It seems to be fixed now, thanks.


Since I have no other way to send this, I'm using address@hidden

No problem, thanks for your report!  Let me know if the above patch does not
fix the problem.

Since the database recreation fixed it for the moment, the patch probably won't get a chance to work, but I'll apply it and see if anything further happens.


--
===[* Spamhaus: Internet terrorists - Don't support them *]=======
(noun; one who hurts innocents without care to further a cause)
 Spammers add to your inbox; Spamhaus makes sure you'll never
 get your email, period.  Now, which one is worse?  See why:
 https://atr2.ath.cx/~jayjwa/RBLs-hurt-innocent-people/abusive-abuse-lists.html
=====[ finger://atr2.ath.cx/jayjwa  for contacts, PGP, etc. ]=====




reply via email to

[Prev in Thread] Current Thread [Next in Thread]