Opened 9 years ago
Closed 8 years ago
#663 closed defect (fixed)
UDPPacket.verifyNotReleased() logic inverted
Reported by: | Zlatin Balevsky | Owned by: | zzz |
---|---|---|---|
Priority: | major | Milestone: | 0.9.2 |
Component: | router/transport | Version: | 0.9 |
Keywords: | SSU | Cc: | |
Parent Tickets: | Sensitive: | no |
Description
The following logic is inverted:
private void verifyNotReleased() { if (CACHE) return; // < but it should be if (!CACHE)
I'm marking it as major priority since it could be masking concurrency issues of unknown severity.
Subtickets
Change History (4)
comment:1 Changed 9 years ago by
Summary: | UDPPacket.verifyNotRelease() logic inverted → UDPPacket.verifyNotReleased() logic inverted |
---|
comment:2 Changed 9 years ago by
comment:3 Changed 9 years ago by
Milestone: | → 0.9.2 |
---|---|
Status: | new → accepted |
Good catch, bug from 2005.
Since it's only logging, won't fix it until after the 0.9.1 release so people don't generate more bug reports.
comment:4 Changed 8 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Fixed in 0.9.1-2 with level changed to ERROR.
Note: See
TracTickets for help on using
tickets.
After applying this patch on vanilla trunk http://pastethis.i2p/show/1464/ KillYourTV reported the following report http://pastethis.i2p/show/1467/ which confirms that this inverted logic is in fact masking concurrency bugs in the production build (as opposed to an artifact produced by any of my experimental changes):