Bug 104015 - crash on startup when feeds.opml file is corrupt (empty)
Summary: crash on startup when feeds.opml file is corrupt (empty)
Status: RESOLVED FIXED
Alias: None
Product: akregator
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 111745 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-04-16 16:11 UTC by Till
Modified: 2005-09-30 10:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Till 2005-04-16 16:11:00 UTC
Version:            (using KDE KDE 3.4.0)
Installed from:    Debian testing/unstable Packages

Akregator crashes, when sites.xml file is correct, but feeds.opml is empty (0 Bytes). Error message is "The standard feed list is corrupted (invalid XML). A backup was created: <name of opml backup file>". After exiting the error message dialog, Akregator crashes (stack trace below). Copying a valid  feeds.opml (in my case I found one under feeds.opml~) to ~/.kde/share/apps/akregator/data is a workaround for the problem.


[KCrash handler]
#3  0xb60756a3 in Akregator::View::loadFeeds ()
   from /usr/lib/kde3/libakregatorpart.so
#4  0xb606e2c1 in Akregator::Part::openFile ()
   from /usr/lib/kde3/libakregatorpart.so
#5  0xb606cffb in Akregator::Part::openURL ()
   from /usr/lib/kde3/libakregatorpart.so
#6  0xb606d101 in Akregator::Part::openStandardFeedList ()
   from /usr/lib/kde3/libakregatorpart.so
#7  0xb607bbbc in Akregator::AkregatorPartIface::process ()
   from /usr/lib/kde3/libakregatorpart.so
#8  0xb76db3ee in DCOPClient::receive () from /usr/lib/libDCOP.so.4
#9  0xb76d6914 in DCOPClient::send () from /usr/lib/libDCOP.so.4
#10 0xb76d0672 in DCOPRef::sendInternal () from /usr/lib/libDCOP.so.4
#11 0x0805025b in ?? ()
#12 0xbffff430 in ?? ()
#13 0xbffff410 in ?? ()
#14 0xbffff420 in ?? ()
#15 0xbffff400 in ?? ()
#16 0xb7026328 in ?? () from /usr/lib/libqt-mt.so.3
#17 0xbffff37c in ?? ()
#18 0xb7ff16fb in _dl_unload_cache () from /lib/ld-linux.so.2
#19 0xb7c1a904 in __libc_start_main () from /lib/tls/libc.so.6
#20 0x0804ff71 in ?? ()
Comment 1 Renaud Lacour 2005-04-18 19:38:36 UTC
Got the same problem : 

The standard feed list is corrupted (invalid XML). A backup was created:
/home/renaud/.kde/share/apps/akregator/data//feeds.opml-backup.1113845346

Then, crashes.

/home/renaud/.kde/share/apps/akregator/data//feeds.opml is empty.

#3  0xb5e3d6a3 in Akregator::View::loadFeeds ()
   from /usr/lib/kde3/libakregatorpart.so
#4  0xb5e362c1 in Akregator::Part::openFile ()
   from /usr/lib/kde3/libakregatorpart.so
#5  0xb5e34ffb in Akregator::Part::openURL ()
   from /usr/lib/kde3/libakregatorpart.so
#6  0xb5e35101 in Akregator::Part::openStandardFeedList ()
   from /usr/lib/kde3/libakregatorpart.so
#7  0xb5e43bbc in Akregator::AkregatorPartIface::process ()
   from /usr/lib/kde3/libakregatorpart.so
#8  0xb76d03ee in DCOPClient::receive () from /usr/lib/libDCOP.so.4
#9  0xb76cb914 in DCOPClient::send () from /usr/lib/libDCOP.so.4
#10 0xb76c5672 in DCOPRef::sendInternal () from /usr/lib/libDCOP.so.4
#11 0x0805025b in ?? ()
#12 0xbffff9a0 in ?? ()
#13 0xbffff980 in ?? ()
#14 0xbffff990 in ?? ()
#15 0xbffff970 in ?? ()
#16 0xb701b328 in ?? () from /usr/lib/libqt-mt.so.3
#17 0xbffff8ec in ?? ()
#18 0xb7ff16fb in _dl_unload_cache () from /lib/ld-linux.so.2
#19 0xb7c0f974 in __libc_start_main () from /lib/tls/libc.so.6
#20 0x0804ff71 in ?? ()
Comment 2 Alexander Haensch 2005-04-29 08:47:55 UTC
Same Problem after running out of Harddiskspace.
Is there a workaround?
Comment 3 Toby Dickenson 2005-06-14 20:57:41 UTC
Same here. Im sure I didnt run out of disk space.

After going through three crash cycles my .kde/share/apps/akregator/data contains:

-rw-r--r--  1 toby toby    0 Jun 14 19:29 feeds.opml
-rw-rw-r--  1 toby toby 4538 Jun 14 19:28 feeds.opml~
-rw-rw-r--  1 toby toby    0 Jun 14 19:31 feeds.opml-backup.1118773903
-rw-rw-r--  1 toby toby    0 Jun 14 19:49 feeds.opml-backup.1118774964
-rw-rw-r--  1 toby toby    0 Jun 14 19:49 feeds.opml-backup.1118774980

As mentioned in the original report, copying feeds.opml~ onto feeds.opml also works for me.
Comment 4 Toby Dickenson 2005-06-14 21:18:56 UTC
Problem appears to be in akregator_part.cpp, slotSaveFeedList. If anything goes wrong while generating or writing the new data file content or saving the old then data file is left in a damaged state.

The function which creates the opml~ file is equally lacking in robustness.
Comment 5 Frank Osterfeld 2005-08-30 08:12:17 UTC
*** Bug 111745 has been marked as a duplicate of this bug. ***
Comment 6 Frank Osterfeld 2005-09-30 10:04:12 UTC
SVN commit 465588 by osterfeld:

store feed list in the backend as backup. If feeds.opml is corrupt, akregator falls back to the backup 
now and loads that instead. 
Hopefully that also fixes the problem with full partitons (if metakit handles this - it should. I have to 
check, wasn't yet able to reproduce 103671)
BUG: 104015
CCBUG: 103671


 M  +52 -29    akregator_part.cpp  
 M  +47 -10    mk4storage/storagemk4impl.cpp