Why is CheckBlock called twice when processing a new block?


I work on a course format for Moodle 2.7 which adds a fake block. All modules work quite well except glossaries.

The error message without the stack trace is:

"Coding error detected, it must be fixed by a programmer: The theme has already been set up for this page ready for output. Therefore, you can no longer change the theme, or anything that might affect what the current theme is, for example, the course."

I discovered that in filter/manage.php require login is called twice:

line 35 ff: /// Check login and permissions. require_login($course, false, $cm); line 70 ff: /// Check login and permissions. require_login($course, false, $cm);

When I remove the second call the error is gone.

Is my guess correct that the second require_login may be a relict from earlier Moodle versions and that it is not needed? If so I would call it a bug and create a tracker issue.

Any feedback why in this script »require_login« is called twice is very...

0 0

First to clarify:
Two competing blocks on the same height that build on the same parent block always have same amount of proof of work, as that depends on the difficulty, which will be the same for both competitors.

Thus, Chain Reorganization will in practice only occur if a competing chain end actually pulls ahead of a previously accepted chain end by accumulating a greater length.*

BitcoinCore stores competing blocks it receives as a sidebranch, if the headers would potentially make it the best chain. Otherwise it discards them.

When Chain Reorganization occurs, BitcoinCore will undo each block from the tip one at a time, reverting back to the common ancestor with the new best chain, then will apply the blocks in the new best chain one at a time until it is at the new tip.

* However, it is possible to construct a case around a difficulty change where competing chains have different difficulties, and the one with higher difficulty would replace the...

0 0

You are not allowed to call free on unallocated memory, the standard states that quite clearly (slightly paraphrased, my emphasis):

The free function causes the space pointed to by its argument to be deallocated, that is, made available for further allocation. If the argument is a null pointer, no action occurs. Otherwise, if the argument does not match a pointer earlier returned by a memory management function, or if the space has been deallocated by a call to free or realloc, the behavior is undefined.

What happens, for example, if the address you're double-freeing has been reallocated in the middle of a new block and the code that allocated it just happened to store something there that looked like a real malloc-block header? Like:

+- New pointer +- Old pointer v v +------------------------------------+ | | +------------------------------------+

Chaos, that's what.

Memory allocation functions are a tool just like a chainsaw...

0 0

No. It's not just for A_SpawnItemEx. It's for actors that are solid, and it's for actors that are stuck in lines and other actors, as well as 'transcendent' actors too.

Actors being caught on large ledges after a lift rises up, for example, is a perfectly good use for this, or if they get stuck in walls that close upon them with crushing, etc. Another thing the flags are for is to prevent missiles from suddenly exploding upon them, because if I don't have the flags, I must perform A_ChangeFlag for a whole bunch of actor flags. No thank you.

Nightfall wrote:"Ignore thruspecies flag" yay more yes except no except yes crap.


Spoiler: Example

I have an actor that gets stuck in another actor, like a lamp post. I want it to check and see for sure if it's an actor. A_CheckBlock has state jumps to perform either NOCLIP or THRUACTORS enabling in that case.

It's stuck in a lamp post, as mentioned, so it enables THRUACTORS. It enters a special chase...

0 0

There are three scenarios in which code could be executing in a finally in an iterator block. In none of them is it a good idea to yield a value from inside the finally, so this is illegal across the board. The three scenarios are (1) normal cleanup, (2) exception cleanup, and (3) iterator disposal.

For the first scenario, suppose we have something like

yield return M();
yield return N();

How should we transform this into an iterator state machine? Naively, we want to do something like:

switch (this.state)
case 0: goto LABEL0;
case 1: goto LABEL1:
case 2: goto LABEL2:
case 3: goto LABEL3:
this.current = M();
this.state = 1;
return true; // BUT DON’T RUN THE FINALLY!
this.current = N();
this.state = 2;

0 0

On 15.10.2015 07:05, Tom Rondeau wrote:

> The first test outputs to the console. The second output to the XML

> file, which we use in our CI system to monitor behavior. The testing

> system, that I know of, doesn't allow for both at one time.


> Why do you care if it runs once or twice? If it runs fine once, it

> should do so the second time, too.

While I'm debugging, I usually disable the XML file simply because when
using ctest -V, the double output is annoying. However, once it works,
Tom's right that your unit test should not be stateful. I'd argue that
if a test fails if you run it twice, it's broken, full stop, and you
need to fix it.


Discuss-gnuradio mailing list
[hidden email]

0 0

> I don't think it is being called twice; you are seeing the return

> value printed out:


>> setClass("testClass",

> + representation(a="character"))

> [1] "testClass"


>> setMethod("[", signature(x = "testClass", i = "ANY", j="ANY"),

> + function (x, i, j, ..., drop){

> + print("void function")

> + return(NULL)

> + }

> + )

> [1] "["

>> x

>> x[1]

> [1] "void function"





> On Wed, Dec 8, 2010 at 6:41 AM, Mark Heckmann

[hidden email]

> wrote:

>> Dear list,


>> When playing around with the "[" method for S4 classes I noticed that it gets called twice in my example.


>> setClass("testClass",

>> representation(a="character"))


>> setMethod("[", signature(x = "testClass", i = "ANY", j="ANY"),

>> function (x, i, j, ...,...

0 0

Once the Bitcoin node receives a message with a new block, it calls the ProcessNewBlock function:

else if (strCommand == "block" && !fImporting && !fReindex) // Ignore blocks received while importing { CBlock block; vRecv >> block; CInv inv(MSG_BLOCK, block.GetHash()); LogPrint("net", "received block %s peer=%d\n", inv.hash.ToString(), pfrom->id); pfrom->AddInventoryKnown(inv); CValidationState state; // Process all blocks from whitelisted peers, even if not requested, // unless we're still syncing with the network. // Such an unrequested block may still be processed, subject to the // conditions in AcceptBlock(). bool forceProcessing = pfrom->fWhitelisted && !IsInitialBlockDownload(); ProcessNewBlock(state, pfrom, &block, forceProcessing, NULL); int nDoS; if (state.IsInvalid(nDoS)) { assert (state.GetRejectCode() < REJECT_INTERNAL); // Blocks are never rejected with internal reject codes pfrom->PushMessage("reject", strCommand,...
0 0

Updated: July 20, 2015

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

The lock keyword marks a statement block as a critical section by obtaining the mutual-exclusion lock for a given object, executing a statement, and then releasing the lock. The following example includes a lock statement.

class Account { decimal balance; private Object thisLock = new Object(); public void Withdraw(decimal amount) { lock (thisLock) { if (amount > balance) { throw new Exception("Insufficient funds"); } balance -= amount; } } }

For more information, see Thread Synchronization.

The lock keyword ensures that one thread does not enter a critical section of code while another thread is in the critical section. If another thread tries to enter a locked code, it will wait, block, until the object is released.

The section Threading discusses...

0 0

Use this overload to start a process resource by specifying a ProcessStartInfo instance. The overload associates the resource with a new Process object.

This overload lets you start a process without first creating a new Process instance. Using this overload with a ProcessStartInfo parameter is an alternative to the explicit steps of creating a new Process instance, setting its StartInfo properties, and calling Start for the Process instance.

Using a ProcessStartInfo instance as the parameter lets you call Start with the most control over what is passed into the call to start the process. If you need to pass only a file name or a file name and arguments, it is not necessary to create a new ProcessStartInfo instance, although that is an option. The only StartInfo property that must be set is the FileName property. The FileName property does not need to represent an executable file. It can be of any file type for which the extension has been associated with an...

0 0

Just ran into this problem, and thought I would post an answer summarizing what I found, plus my actual issue.

1. img tags with src="" or Image tags with ImageUrl=" 2. Using AutoEventWireup="true" and adding a page handler 3. Having manually added the event handler (more common for C# than VB) 4. Handling both MyBase.Load and Me.Load

and finally my issue....

My page inherited from a class that included a Page Load handler, which inherited from a class with a Page Load Handler.

Public Class C1 Inherits System.Web.UI.Page Protected Overridable Sub PageLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub End Class Public Class C2 Inherits C1 Protected Overrides Sub PageLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load MyBase.PageLoad(sender, e) End Sub End Class Public Class MyPage Inherits C2 Protected Overrides Sub PageLoad(ByVal sender As Object, ByVal e As...
0 0
All comments about explorer.exe: Windows Program Manager Alex This is used file for All Windows OS. Its Microsoft's Own Created File. See also: Link MEHUL (KANUDO) Windows owned File but look how is your place ... this place must was in the windows directory, when not it is hacked ! DoNe As DoNe said..look at where it is: if it's in the windows directory, do NOT end the process or it'll restart your computer or something. . .. Thom Chesshyre This is the Windows shell (desktop, file browser, taskbar etc), closing it is not recommended. However, if the path is C:\Explorer.exe, it's a virus. (Due to lazy programming, Windows does not look in a specific path for this file. If it finds it here, it'll launch it instead of the real shell.) See also: Link Inuyasha Part of the Windows Operating system. This program draws the taskbar and colorful user interface you see while using Windows. If you stop this process the taskbar will disappear. Nathan Harmless Microsoft stuff. ...
0 0

Special Effects

A large number of special techniques were used to produce various unusual effects. The list is too long to cover completely here - interested readers may consult: Amy Newland, Chris Uhlenbeck, "Ukiyo-E to Shin hanga", Mallard Press, 1990 which contains an extensive section by Richard Kruml on print-making techniques, for more details.

The most common was blind-printing (called "gauffrage" in the West), or karazuri. This did not use any ink at all - rather, a pattern was impressed into the paper. The process involved lightly dampening the paper, and then using any one of a number of implements (a piece of ivory, or the edge of a baren, or even the printer's elbow) to produce three-dimensional effects in the paper. It was especially suited to depicting white-on-white, such as egret feathers, or clouds. Mesh patterns would be created by using two separate blocks, cut at right angles to each other.

Related to blind-printing is a rarer process...

0 0

No, Because the network uses a legacy technology that goes back to before dawn of '800' numbers. ANI: Automatic Number Identification. This technology is what is used to accurately bill calls you make using operator assistance, and related types of calls. The scammers cannot game this information. They have no access to it in the call processing stream. One technology uses this to defend against the scammers, by forwarding their calls to an 800 number you control. Now if you can associate the call to your controlled number, with a call that is a scam, you have a billing telephone number to report to the anti spam/scam forces in your jurisdiction. This makes it easier to do TCPA...

0 0
Table of Contents, Show Frames, No Frames

This chapter describes what a process is and how the Linux kernel creates, manages and deletes the processes in the system.

Processes carry out tasks within the operating system. A program is a set of machine code instructions and data stored in an executable image on disk and is, as such, a passive entity; a process can be thought of as a computer program in action.

It is a dynamic entity, constantly changing as the machine code instructions are executed by the processor. As well as the program's instructions and data, the process also includes the program counter and all of the CPU's registers as well as the process stacks containing temporary data such as routine parameters, return addresses and saved variables. The current executing program, or process, includes all of the current activity in the microprocessor. Linux is a multiprocessing operating system. Processes are separate tasks each with their own...

0 0

Heart block is a problem that occurs with the heart's electrical system. This system controls the rate and rhythm of heartbeats. ("Rate" refers to the number of times your heart beats per minute. "Rhythm" refers to the pattern of regular or irregular pulses produced as the heart beats.)

With each heartbeat, an electrical signal spreads across the heart from the upper to the lower chambers. As it travels, the signal causes the heart to contract and pump blood.

Heart block occurs if the electrical signal is slowed or disrupted as it moves through the heart.


Heart block is a type of arrhythmia (ah-RITH-me-ah). An arrhythmia is any problem with the rate or rhythm of the heartbeat.

Some people are born with heart block, while others develop it during their lifetimes. If you're born with the condition, it's called congenital (kon-JEN-ih-tal) heart block. If the condition develops after birth, it's called acquired heart block.


0 0