php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #33051 display glitch for shmop test with firefox (weird returned ascii)
Submitted: 2005-05-18 04:37 UTC Modified: 2005-05-19 14:20 UTC
From: Trigunflame at gmail dot com Assigned:
Status: Not a bug Package: Semaphore related
PHP Version: 5.0.4 OS: windows xp
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
32 + 31 = ?
Subscribe to this entry?

 
 [2005-05-18 04:37 UTC] Trigunflame at gmail dot com
Description:
------------
Using the code posted here:

http://us2.php.net/manual/en/ref.shmop.php

Generates a weird display glitch in firefox with [] brackets, and causes linebreak.

Reproduce code:
---------------
<?php
  
// Create 100 byte shared memory block with system id if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
   echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
   echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
   echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Now lets delete the block and close the shared memory segment
if (!shmop_delete($shm_id)) {
   echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);
  
?> 

Expected result:
----------------
SHM Block Size: 100 has been created. The data inside shared memory was: my shared memory block

Actual result:
--------------
SHM Block Size: 100 has been created. The data inside shared memory was: my shared memory 
block

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-05-18 04:38 UTC] Trigunflame at gmail dot com
Should say [] are visible when viewing source.. which are appended after the expected result string, yet cause a linebreak..
 [2005-05-18 11:25 UTC] tony2001@php.net
And what happens in another browser ?
 [2005-05-19 01:05 UTC] Trigunflame at gmail dot com
Well in firefox, like I said earlier in the source view you can see these [] brackets, and causes a linebreak on the last word in normal view.

In IE, the problem doesn't occur.. no linebreaks, no weird [] brackets.

So I don't really know if you would classify this as a Firefox problem or a PHP Problem, but technically; I don't believe it should be returning any additional data than what was originally written in the first place.
 [2005-05-19 01:13 UTC] tony2001@php.net
If the problem appears in a browser, but it doesn't in another one, then most likely it's not a PHP problem, right?

What is the *real* output you get?
I.e. the output you get when you execute this script using php.exe in console.
 [2005-05-19 01:19 UTC] Trigunflame at gmail dot com
Well according to PHP Doc, SHMOP shouldnt work in CLI on windows, yet it does.

The output appears normal.. as it does in IE.

So, I really don't know what to say... PHP Handles the return data from this function and passes through Apache etc.. which is then delivered to FireFox. 

Question is.. how would FireFox correct an issue like this? Strip certain ASCII from output or something?
 [2005-05-19 14:20 UTC] tony2001@php.net
There are NULL bytes at the end of data output (because you read more than write - you've written $shm_bytes_written bytes and you're trying to read $shm_size bytes).
Obviously FireFox doesn't like those null bytes and breaks the output for some reason.
No PHP bug here.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Mar 29 04:01:29 2024 UTC