Closed mglh closed 3 years ago
Still an issue? I was able to reproduce it, but now it works, so I guess that the issue was with one of the entries that have been removed from the feed now. I'll open an issue in the newsboat repo with backtrace and the broken .xml file in any case
Issue is caused by smileys, and does not occur when newsboat is compiled on device. Probably something is mis-configured when newsboat is cross-compiled, and/or something is weird with our libandroid-support.
Adding this:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
<link rel="self" type="application/atom+xml" href="https://www.goingelectric.de/forum/feed/topics"/>
<title>Elektroauto Forum</title>
<subtitle>Elektroauto Forum auf GoingElectric.de</subtitle>
<link href="https://www.goingelectric.de/forum/index.php"/>
<updated>2021-09-08T19:53:14+02:00</updated>
<author><name><![CDATA[Elektroauto Forum]]></name></author>
<id>https://www.goingelectric.de/forum/feed/topics</id>
<entry>
<author><name><![CDATA[ ]]></name></author>
<updated>2021-09-08T11:25:52+02:00</updated>
<published>2021-09-08T11:25:52+02:00</published>
<id>https://www.goingelectric.de/forum/viewtopic.php?t=71495&p=1674610#p1674610</id>
<link href="https://www.goingelectric.de/forum/viewtopic.php?t=71495&p=1674610#p1674610"/>
<title type="html"><![CDATA[ID.4 - Allgemeine Themen • Lichtleiste hinten steht ab😒]]></title>
<category term="ID.4 - Allgemeine Themen" scheme="https://www.goingelectric.de/forum/viewforum.php?f=464" label="ID.4 - Allgemeine Themen"/>
<content type="html" xml:base="https://www.goingelectric.de/forum/viewtopic.php?t=71495&p=1674610#p1674610"><![CDATA[]]></content>
</entry>
</feed>
to a feed.xml file, and then adding that file to .newsboat/urls (echo file:///data/data/com.termux/files/home/path/to/feed.xml >> ~/.newsboat/urls
) and then running newsboat and refreshing is enough to trigger the issue. A gdb backtrace shows:
0x0000007fb68dc240 in abort () from /apex/com.android.runtime/lib64/bionic/libc.so
(gdb) bt
#0 0x0000007fb68dc240 in abort () from /apex/com.android.runtime/lib64/bionic/libc.so
#1 0x0000007fb68f0568 in __stack_chk_fail () from /apex/com.android.runtime/lib64/bionic/libc.so
#2 0x0000005555609f08 in newsboat::TagSoupPullParser::decode_entity (this=<optimized out>, s=...) at src/tagsouppullparser.cpp:513
#3 0x0000005555609bb8 in newsboat::TagSoupPullParser::decode_entities (this=<optimized out>, s=...) at src/tagsouppullparser.cpp:164
#4 0x000000555560963c in newsboat::TagSoupPullParser::handle_text (this=0x7d25dbf238, c=<optimized out>) at src/tagsouppullparser.cpp:606
#5 0x00000055556094f8 in newsboat::TagSoupPullParser::next (this=0x7d25dbf238) at src/tagsouppullparser.cpp:79
#6 0x00000055555dccc4 in newsboat::HtmlRenderer::render (this=0x7d25dbf518, input=..., lines=..., links=..., url=...) at src/htmlrenderer.cpp:138
#7 0x00000055555dcc00 in newsboat::HtmlRenderer::render (this=0x0, source=..., lines=..., links=..., url=...) at src/htmlrenderer.cpp:70
#8 0x000000555560f1d8 in newsboat::RssParser::render_xhtml_title (this=<optimized out>, title=..., link=...) at src/rssparser.cpp:115
#9 0x0000005555610828 in newsboat::RssParser::set_item_title (this=<optimized out>, feed=..., x=..., item=...) at src/rssparser.cpp:471
#10 0x000000555560e77c in newsboat::RssParser::fill_feed_items (this=0x7d25dbf880, feed=...) at src/rssparser.cpp:349
#11 0x000000555560e0c4 in newsboat::RssParser::parse (this=0x7d25dbf880) at src/rssparser.cpp:73
#12 0x0000005555685c10 in newsboat::Reloader::reload (this=0x7de5f11dc0, pos=0, show_progress=<optimized out>, unattended=false, easyhandle=0x7d25dbfad8) at src/reloader.cpp:97
#13 0x0000005555686744 in newsboat::Reloader::reload_range (this=0x7de5f11dc0, start=<optimized out>, end=<optimized out>, unattended=<optimized out>) at src/reloader.cpp:243
#14 0x000000555568627c in newsboat::Reloader::reload_all (this=0x7de5f11dc0, unattended=false) at src/reloader.cpp:153
#15 0x000000555560bf50 in newsboat::DownloadThread::operator() (this=0x7dd5f10e98) at src/downloadthread.cpp:24
#16 0x0000005555688694 in std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, newsboat::DownloadThread> > ( __vp=<optimized out>) at /home/builder/.termux-build/_cache/android-r21d-api-24-v5/bin/../sysroot/usr/include/c++/v1/thread:283
#17 0x0000007fb693f070 in __pthread_start(void*) () from /apex/com.android.runtime/lib64/bionic/libc.so
#18 0x0000007fb68de200 in __start_thread () from /apex/com.android.runtime/lib64/bionic/libc.so
newsboat --log-level 6 --log-file newsboat.log -r
also shows that the smiley is the issue:
[2021-09-08 22:31:47] DEBUG: Reloader::reload_range: reloading feed #1
[2021-09-08 22:31:47] DEBUG: ListFormatter::add_line: `<unread> 2 N (1/1) Elektroauto Forum</>'
[2021-09-08 22:31:47] DEBUG: Reloader::reload: pos = 1
[2021-09-08 22:31:47] INFO: ReloadThread: waiting 0 seconds between reloads
[2021-09-08 22:31:47] INFO: ReloadThread: starting reload
[2021-09-08 22:31:47] DEBUG: FeedListFormAction::prepare: doing redraw
[2021-09-08 22:31:47] DEBUG: Reloader::reload: created parser
[2021-09-08 22:31:47] DEBUG: ListFormatter::add_line: `<unread> 1 N (9/10) Elektroauto Forum</>'
[2021-09-08 22:31:47] DEBUG: ListFormatter::add_line: `<unread> 2 N (1/1) Elektroauto Forum</>'
[2021-09-08 22:31:47] INFO: Parser::parse_file: encoding = UTF-8
[2021-09-08 22:31:47] DEBUG: RssParser::parse: parsed file /data/data/com.termux/files/home/test.xml, valid = true
[2021-09-08 22:31:47] DEBUG: RssParser::parse: feed title = `Elektroauto Forum' link = `file:///data/data/com.termux/files/home/test.xml'
[2021-09-08 22:31:47] DEBUG: TagSoupPullParser::decode_entity: decoding '#128530'...
[2021-09-08 22:31:47] DEBUG: TagSoupPullParser::decode_entity: wc = 128530 pos = 4 mbc = '😒'
Possibly related to 93f4fbb30ff8a58bb1553b5c7659a3909feaf7c5.
Issue: https://github.com/termux/termux-packages/issues/4334
Looks pretty identical indeed. I suppose you removed the patch after https://github.com/newsboat/newsboat/commit/1e36d490d08010e9cbb025ed029bdbca495d7d82.
Bash, readline and a bunch of other software makes sure MB_LEN_MAX is at least 16, maybe newsboat should have a similar check (could open an issue in the newsboat repo to discuss it)
Hi, Newsboat maintainer here :wave: I suspect this is fixed by https://github.com/newsboat/newsboat/pull/1747.
@Minoru Hi, yes, that commit fixes it as well (for the example feed above). Thanks for the info, I have replaced the patched used.
Problem description
Feed: https://www.goingelectric.de/forum/feed/topics
Error Message: stack corruption detected (-fstack-protector)
What steps will reproduce the bug?
Just "reload".
What is the expected behavior?
No response
System information
termux-info: