Bug 123330 - segfault on flash pages
Summary: segfault on flash pages
Status: RESOLVED WORKSFORME
Alias: None
Product: konqueror
Classification: Applications
Component: konq-e (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror/Embedded Developers
URL:
Keywords: investigated, needs_verification, triaged
Depends on:
Blocks:
 
Reported: 2006-03-09 14:39 UTC by Yan Seiner
Modified: 2018-10-21 04:54 UTC (History)
3 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 Yan Seiner 2006-03-09 14:39:33 UTC
Version:           konq/e (using KDE KDE 3.5.0)
Installed from:    Compiled From Sources
Compiler:          gcc 3.4.4 cross-compiler for arm
OS:                Linux

konq/e crashes on trying to run flash.  After several attempts, it will run.

The exact number of times it crashes varies; it appears to be around 
3.  It crashes consistently at the point of launching the flash 
plugin.  I've posted a tarball of one of the runs and the html and 
flash generation code at <http://www.seiner.com/busykonqcrash.tar.gz>.

I suspect the problem lies in connection.cpp, in  Connection::sendnow.

The code sends a 10 byte header, and then immediately sends the data:

    size_t n = fwrite( buffer, 1, 10, f_out );

...

    n = fwrite( data.data(), 1, data.size(), f_out );

If data.size() is 4096 - the size of the buffer - and the machine is not 
very fast, the receiving end has no chance to empty the buffer and the 
write fails.  Since the write is all or nothing, the connection keeps 
repeating its mistake, and eventually something pukes.

The quick and dirty solution is to stick a usleep(usec); between the 
two, but the better solution would be to write the data, check for 
completeness, and if not done, advance the buffer pointer, usleep some, 
and try to send the rest of the data.  Repeat as necessary, with some 
reasonable timeout.

If that's impossible, the function should send (bufsize - headersize) 
bytes, instead of the full bufsize as now.
Comment 1 A. Spehr 2008-06-16 12:47:13 UTC
Hmmm... Is this something that works now in current versions? Most flash should work in 3.5.9 and 4. I'm not sure how different konq/e is, though.

Thanks!
Comment 2 A. Spehr 2008-12-01 11:39:39 UTC
Lubos, do you have any idea about konq/e? 
Comment 3 Lubos Lunak 2008-12-01 11:54:32 UTC
No. I'm not even sure Konq/E is developed in our SVN.
Comment 4 A. Spehr 2009-05-28 13:42:24 UTC
There seems to be a konq-e mailing list.... (I don't know why it didn't go there originally?) I'm not sure if this is still a useful bug report in terms of how much the code has changed, though.
Comment 5 FiNeX 2009-08-23 11:58:11 UTC
It looks like nobody is working on that project. Moreover the mailing list looks quite abandoned. Someone knows who developed it?
Comment 6 Andrew Crouthamel 2018-09-20 03:05:51 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Andrew Crouthamel 2018-10-21 04:54:39 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!